Autogenerated HTML docs for v1.8.5.3-321-g14598 
diff --git a/RelNotes/1.8.5.3.txt b/RelNotes/1.8.5.3.txt new file mode 100644 index 0000000..3de2dd0 --- /dev/null +++ b/RelNotes/1.8.5.3.txt 
@@ -0,0 +1,27 @@ +Git v1.8.5.3 Release Notes +========================== + +Fixes since v1.8.5.2 +-------------------- + + * The "--[no-]informative-errors" options to "git daemon" were parsed + a bit too loosely, allowing any other string after these option + names. + + * A "gc" process running as a different user should be able to stop a + new "gc" process from starting. + + * An earlier "clean-up" introduced an unnecessary memory leak to the + credential subsystem. + + * "git mv A B/", when B does not exist as a directory, should error + out, but it didn't. + + * "git rev-parse <revs> -- <paths>" did not implement the usual + disambiguation rules the commands in the "git log" family used in + the same way. + + * "git cat-file --batch=", an admittedly useless command, did not + behave very well. + +Also contains typofixes, documentation updates and trivial code clean-ups. 
diff --git a/RelNotes/1.9.txt b/RelNotes/1.9.txt index 41a54f5..9959257 100644 --- a/RelNotes/1.9.txt +++ b/RelNotes/1.9.txt 
@@ -90,6 +90,10 @@    UI, Workflows & Features   + * Just like we give a reasonable default for "less" via the LESS + environment variable, we now specify a reasonable default for "lv" + via the "LV" environment variable when spawning the pager. +  * Two-level configuration variable names in "branch.*" and "remote.*"  hierarchies, whose variables are predominantly three-level, were  not completed by hitting a <TAB> in bash and zsh completions. @@ -154,6 +158,13 @@    Performance, Internal Implementation, etc.   + * When parsing a 40-hex string into the object name, the string is + checked to see if it can be interpreted as a ref so that a warning + can be given for ambiguity. The code kicked in even when the + core.warnambiguousrefs is set to false to squelch this warning, in + which case the cycles spent to look at the ref namespace were an + expensive no-op, as the result was discarded without being used. +  * The naming convention of the packfiles has been updated; it used to  be based on the enumeration of names of the objects that are  contained in the pack, but now it also depends on how the packed @@ -197,6 +208,10 @@  track are contained in this release (see the maintenance releases' notes  for details).   + * The implementation of 'git stash $cmd "stash@{...}"' did not quote + the stash argument properly and left it split at IFS whitespace. + (merge 2a07e43 ow/stash-with-ifs later to maint). +  * The "--[no-]informative-errors" options to "git daemon" were parsed  a bit too loosely, allowing any other string after these option  names. 
diff --git a/config.txt b/config.txt index a405806..ed59853 100644 --- a/config.txt +++ b/config.txt 
@@ -567,6 +567,10 @@  command to `LESS=FRSX less -+S`. The environment tells the command  to set the `S` option to chop long lines but the command line  resets it to the default to fold long lines. ++ +Likewise, when the `LV` environment variable is unset, Git sets it +to `-c`. You can override this setting by exporting `LV` with +another value or setting `core.pager` to `lv +c`.    core.whitespace:: 	A comma separated list of common whitespace problems to 
diff --git a/git-config.html b/git-config.html index 30b72cf..6827320 100644 --- a/git-config.html +++ b/git-config.html 
@@ -3,7 +3,7 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 8.6.8" />  +<meta name="generator" content="AsciiDoc 8.6.6" />   <title>git-config(1)</title>   <style type="text/css">   /* Shared CSS for AsciiDoc xhtml11 and html5 backends */  @@ -87,15 +87,11 @@  ul > li { color: #aaa; }   ul > li > * { color: black; }    -.monospaced, code, pre {  - font-family: "Courier New", Courier, monospace;  - font-size: inherit;  - color: navy;  +pre {   padding: 0;   margin: 0;   }    -   #author {   color: #527bbd;   font-weight: bold;  @@ -353,7 +349,7 @@  margin-bottom: 0.1em;   }    -div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {  +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {   margin-top: 0;   margin-bottom: 0;   }  @@ -411,14 +407,18 @@  span.overline { text-decoration: overline; }   span.line-through { text-decoration: line-through; }    -div.unbreakable { page-break-inside: avoid; }  -     /*   * xhtml11 specific   *   * */    +tt {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   div.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -452,6 +452,12 @@  *   * */    +.monospaced {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   table.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -531,8 +537,6 @@  @media print {   body.manpage div#toc { display: none; }   }  -  -   </style>   <script type="text/javascript">   /*<![CDATA[*/  @@ -577,7 +581,7 @@    function tocEntries(el, toclevels) {   var result = new Array;  - var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');  + var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');   // Function that scans the DOM tree for header elements (the DOM2   // nodeIterator API would be a better technique but not supported by all   // browsers).  @@ -606,7 +610,7 @@  var i;   for (i = 0; i < toc.childNodes.length; i++) {   var entry = toc.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div'  + if (entry.nodeName == 'div'   && entry.getAttribute("class")   && entry.getAttribute("class").match(/^toclevel/))   tocEntriesToRemove.push(entry);  @@ -652,7 +656,7 @@  var entriesToRemove = [];   for (i = 0; i < noteholder.childNodes.length; i++) {   var entry = noteholder.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")  + if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")   entriesToRemove.push(entry);   }   for (i = 0; i < entriesToRemove.length; i++) {  @@ -773,7 +777,7 @@  escaped.</p></div>   <div class="paragraph"><p>Multiple lines can be added to an option by using the <em>--add</em> option.   If you want to update or unset an option which can occur on multiple  -lines, a POSIX regexp <code>value_regex</code> needs to be given. Only the  +lines, a POSIX regexp <tt>value_regex</tt> needs to be given. Only the   existing values that match the regexp are updated or unset. If   you want to handle the lines that do <strong>not</strong> match the regex, just   prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>).</p></div>  @@ -853,7 +857,7 @@  <p>   Adds a new line to the option without altering any existing   values. This is the same as providing <em>^$</em> as the value_regex  - in <code>--replace-all</code>.  + in <tt>--replace-all</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -905,13 +909,13 @@  </dt>   <dd>   <p>  - For writing options: write to global <code>~/.gitconfig</code> file  - rather than the repository <code>.git/config</code>, write to  - <code>$XDG_CONFIG_HOME/git/config</code> file if this file exists and the  - <code>~/.gitconfig</code> file doesn&#8217;t.  + For writing options: write to global <tt>~/.gitconfig</tt> file  + rather than the repository <tt>.git/config</tt>, write to  + <tt>$XDG_CONFIG_HOME/git/config</tt> file if this file exists and the  + <tt>~/.gitconfig</tt> file doesn&#8217;t.   </p>  -<div class="paragraph"><p>For reading options: read only from global <code>~/.gitconfig</code> and from  -<code>$XDG_CONFIG_HOME/git/config</code> rather than from all available files.</p></div>  +<div class="paragraph"><p>For reading options: read only from global <tt>~/.gitconfig</tt> and from  +<tt>$XDG_CONFIG_HOME/git/config</tt> rather than from all available files.</p></div>   <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>   </dd>   <dt class="hdlist1">  @@ -920,10 +924,10 @@  <dd>   <p>   For writing options: write to system-wide  - <code>$(prefix)/etc/gitconfig</code> rather than the repository  - <code>.git/config</code>.  + <tt>$(prefix)/etc/gitconfig</tt> rather than the repository  + <tt>.git/config</tt>.   </p>  -<div class="paragraph"><p>For reading options: read only from system-wide <code>$(prefix)/etc/gitconfig</code>  +<div class="paragraph"><p>For reading options: read only from system-wide <tt>$(prefix)/etc/gitconfig</tt>   rather than from all available files.</p></div>   <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>   </dd>  @@ -932,10 +936,10 @@  </dt>   <dd>   <p>  - For writing options: write to the repository <code>.git/config</code> file.  + For writing options: write to the repository <tt>.git/config</tt> file.   This is the default behavior.   </p>  -<div class="paragraph"><p>For reading options: read only from the repository <code>.git/config</code> rather than  +<div class="paragraph"><p>For reading options: read only from the repository <tt>.git/config</tt> rather than   from all available files.</p></div>   <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>   </dd>  @@ -1066,14 +1070,14 @@  </dt>   <dd>   <p>  - Find the color setting for <code>name</code> (e.g. <code>color.diff</code>) and output  - "true" or "false". <code>stdout-is-tty</code> should be either "true" or  + Find the color setting for <tt>name</tt> (e.g. <tt>color.diff</tt>) and output  + "true" or "false". <tt>stdout-is-tty</tt> should be either "true" or   "false", and is taken into account when configuration says  - "auto". If <code>stdout-is-tty</code> is missing, then checks the standard  + "auto". If <tt>stdout-is-tty</tt> is missing, then checks the standard   output of the command itself, and exits with status 0 if color   is to be used, or exits with status 1 otherwise.  - When the color setting for <code>name</code> is undefined, the command uses  - <code>color.ui</code> as fallback.  + When the color setting for <tt>name</tt> is undefined, the command uses  + <tt>color.ui</tt> as fallback.   </p>   </dd>   <dt class="hdlist1">  @@ -1081,10 +1085,10 @@  </dt>   <dd>   <p>  - Find the color configured for <code>name</code> (e.g. <code>color.diff.new</code>) and  + Find the color configured for <tt>name</tt> (e.g. <tt>color.diff.new</tt>) and   output it as the ANSI color escape sequence to the standard  - output. The optional <code>default</code> parameter is used instead, if  - there is no color configured for <code>name</code>.  + output. The optional <tt>default</tt> parameter is used instead, if  + there is no color configured for <tt>name</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -1104,7 +1108,7 @@  </dt>   <dd>   <p>  - Respect <code>include.*</code> directives in config files when looking up  + Respect <tt>include.*</tt> directives in config files when looking up   values. Defaults to on.   </p>   </dd>  @@ -1131,9 +1135,9 @@  <dd>   <p>   Second user-specific configuration file. If $XDG_CONFIG_HOME is not set  - or empty, <code>$HOME/.config/git/config</code> will be used. Any single-valued  + or empty, <tt>$HOME/.config/git/config</tt> will be used. Any single-valued   variable set in this file will be overwritten by whatever is in  - <code>~/.gitconfig</code>. It is a good idea not to create this file if  + <tt>~/.gitconfig</tt>. It is a good idea not to create this file if   you sometimes use older versions of Git, as support for this   file was added fairly recently.   </p>  @@ -1206,124 +1210,124 @@  <div class="paragraph"><p>Given a .git/config like this:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>#  +<pre><tt>#   # This is the config file, and   # a '#' or ';' character indicates   # a comment  -#</code></pre>  +#</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>; core variables  +<pre><tt>; core variables   [core]   ; Don't trust file modes  - filemode = false</code></pre>  + filemode = false</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>; Our diff algorithm  +<pre><tt>; Our diff algorithm   [diff]   external = /usr/local/bin/diff-wrapper  - renames = true</code></pre>  + renames = true</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>; Proxy settings  +<pre><tt>; Proxy settings   [core]   gitproxy=proxy-command for kernel.org  - gitproxy=default-proxy ; for all the rest</code></pre>  + gitproxy=default-proxy ; for all the rest</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>; HTTP  +<pre><tt>; HTTP   [http]   sslVerify   [http "https://weak.example.com"]   sslVerify = false  - cookieFile = /tmp/cookie.txt</code></pre>  + cookieFile = /tmp/cookie.txt</tt></pre>   </div></div>   <div class="paragraph"><p>you can set the filemode to true with</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config core.filemode true</code></pre>  +<pre><tt>% git config core.filemode true</tt></pre>   </div></div>   <div class="paragraph"><p>The hypothetical proxy command entries actually have a postfix to discern   what URL they apply to. Here is how to change the entry for kernel.org   to "ssh".</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</code></pre>  +<pre><tt>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>   </div></div>   <div class="paragraph"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>   <div class="paragraph"><p>To delete the entry for renames, do</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --unset diff.renames</code></pre>  +<pre><tt>% git config --unset diff.renames</tt></pre>   </div></div>   <div class="paragraph"><p>If you want to delete an entry for a multivar (like core.gitproxy above),   you have to provide a regex matching the value of exactly one line.</p></div>   <div class="paragraph"><p>To query the value for a given key, do</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --get core.filemode</code></pre>  +<pre><tt>% git config --get core.filemode</tt></pre>   </div></div>   <div class="paragraph"><p>or</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config core.filemode</code></pre>  +<pre><tt>% git config core.filemode</tt></pre>   </div></div>   <div class="paragraph"><p>or, to query a multivar:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --get core.gitproxy "for kernel.org$"</code></pre>  +<pre><tt>% git config --get core.gitproxy "for kernel.org$"</tt></pre>   </div></div>   <div class="paragraph"><p>If you want to know all the values for a multivar, do:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --get-all core.gitproxy</code></pre>  +<pre><tt>% git config --get-all core.gitproxy</tt></pre>   </div></div>   <div class="paragraph"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a   new one with</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --replace-all core.gitproxy ssh</code></pre>  +<pre><tt>% git config --replace-all core.gitproxy ssh</tt></pre>   </div></div>   <div class="paragraph"><p>However, if you really only want to replace the line for the default proxy,   i.e. the one without a "for &#8230;" postfix, do something like this:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config core.gitproxy ssh '! for '</code></pre>  +<pre><tt>% git config core.gitproxy ssh '! for '</tt></pre>   </div></div>   <div class="paragraph"><p>To actually match only values with an exclamation mark, you have to</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config section.key value '[!]'</code></pre>  +<pre><tt>% git config section.key value '[!]'</tt></pre>   </div></div>   <div class="paragraph"><p>To add a new proxy, without altering any of the existing ones, use</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --add core.gitproxy '"proxy-command" for example.com'</code></pre>  +<pre><tt>% git config --add core.gitproxy '"proxy-command" for example.com'</tt></pre>   </div></div>   <div class="paragraph"><p>An example to use customized color from the configuration in your   script:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>#!/bin/sh  +<pre><tt>#!/bin/sh   WS=$(git config --get-color color.diff.whitespace "blue reverse")   RESET=$(git config --get-color "" "reset")  -echo "${WS}your whitespace color or blue reverse${RESET}"</code></pre>  +echo "${WS}your whitespace color or blue reverse${RESET}"</tt></pre>   </div></div>  -<div class="paragraph"><p>For URLs in <code>https://weak.example.com</code>, <code>http.sslVerify</code> is set to  -false, while it is set to <code>true</code> for all others:</p></div>  +<div class="paragraph"><p>For URLs in <tt>https://weak.example.com</tt>, <tt>http.sslVerify</tt> is set to  +false, while it is set to <tt>true</tt> for all others:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>% git config --bool --get-urlmatch http.sslverify https://good.example.com  +<pre><tt>% git config --bool --get-urlmatch http.sslverify https://good.example.com   true   % git config --bool --get-urlmatch http.sslverify https://weak.example.com   false   % git config --get-urlmatch http https://weak.example.com   http.cookiefile /tmp/cookie.txt  -http.sslverify false</code></pre>  +http.sslverify false</tt></pre>   </div></div>   </div>   </div>  @@ -1331,17 +1335,17 @@  <h2 id="_configuration_file">CONFIGURATION FILE</h2>   <div class="sectionbody">   <div class="paragraph"><p>The Git configuration file contains a number of variables that affect  -the Git commands' behavior. The <code>.git/config</code> file in each repository  +the Git commands' behavior. The <tt>.git/config</tt> file in each repository   is used to store the configuration for that repository, and  -<code>$HOME/.gitconfig</code> is used to store a per-user configuration as  -fallback values for the <code>.git/config</code> file. The file <code>/etc/gitconfig</code>  +<tt>$HOME/.gitconfig</tt> is used to store a per-user configuration as  +fallback values for the <tt>.git/config</tt> file. The file <tt>/etc/gitconfig</tt>   can be used to store a system-wide default configuration.</p></div>   <div class="paragraph"><p>The configuration variables are used by both the Git plumbing   and the porcelains. The variables are divided into sections, wherein   the fully qualified variable name of the variable itself is the last   dot-separated segment and the section name is everything before the last   dot. The variable names are case-insensitive, allow only alphanumeric  -characters and <code>-</code>, and must start with an alphabetic character. Some  +characters and <tt>-</tt>, and must start with an alphabetic character. Some   variables may appear multiple times.</p></div>   <div class="sect2">   <h3 id="_syntax">Syntax</h3>  @@ -1351,7 +1355,7 @@  <div class="paragraph"><p>The file consists of sections and variables. A section begins with   the name of the section in square brackets and continues until the next   section begins. Section names are not case sensitive. Only alphanumeric  -characters, <code>-</code> and <code>.</code> are allowed in section names. Each variable  +characters, <tt>-</tt> and <tt>.</tt> are allowed in section names. Each variable   must belong to some section, which means that there must be a section   header before the first setting of a variable.</p></div>   <div class="paragraph"><p>Sections can be further divided into subsections. To begin a subsection  @@ -1359,15 +1363,15 @@  in the section header, like in the example below:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code> [section "subsection"]</code></pre>  +<pre><tt> [section "subsection"]</tt></pre>   </div></div>   <div class="paragraph"><p>Subsection names are case sensitive and can contain any characters except  -newline (doublequote <code>"</code> and backslash have to be escaped as <code>\"</code> and <code>\\</code>,  +newline (doublequote <tt>"</tt> and backslash have to be escaped as <tt>\"</tt> and <tt>\\</tt>,   respectively). Section headers cannot span multiple   lines. Variables may belong directly to a section or to a given subsection.  -You can have <code>[section]</code> if you have <code>[section "subsection"]</code>, but you  +You can have <tt>[section]</tt> if you have <tt>[section "subsection"]</tt>, but you   don&#8217;t need to.</p></div>  -<div class="paragraph"><p>There is also a deprecated <code>[section.subsection]</code> syntax. With this  +<div class="paragraph"><p>There is also a deprecated <tt>[section.subsection]</tt> syntax. With this   syntax, the subsection name is converted to lower-case and is also   compared case sensitively. These subsection names follow the same   restrictions as section names.</p></div>  @@ -1376,7 +1380,7 @@  <em>name = value</em>. If there is no equal sign on the line, the entire line   is taken as <em>name</em> and the variable is recognized as boolean "true".   The variable names are case-insensitive, allow only alphanumeric characters  -and <code>-</code>, and must start with an alphabetic character. There can be more  +and <tt>-</tt>, and must start with an alphabetic character. There can be more   than one value for a given variable; we say then that the variable is   multivalued.</p></div>   <div class="paragraph"><p>Leading and trailing whitespace in a variable value is discarded.  @@ -1390,63 +1394,63 @@  You need to enclose variable values in double quotes if you want to   preserve leading or trailing whitespace, or if the variable value contains   comment characters (i.e. it contains <em>#</em> or <em>;</em>).  -Double quote <code>"</code> and backslash <code>\</code> characters in variable values must  -be escaped: use <code>\"</code> for <code>"</code> and <code>\\</code> for <code>\</code>.</p></div>  -<div class="paragraph"><p>The following escape sequences (beside <code>\"</code> and <code>\\</code>) are recognized:  -<code>\n</code> for newline character (NL), <code>\t</code> for horizontal tabulation (HT, TAB)  -and <code>\b</code> for backspace (BS). No other char escape sequence, nor octal  +Double quote <tt>"</tt> and backslash <tt>\</tt> characters in variable values must  +be escaped: use <tt>\"</tt> for <tt>"</tt> and <tt>\\</tt> for <tt>\</tt>.</p></div>  +<div class="paragraph"><p>The following escape sequences (beside <tt>\"</tt> and <tt>\\</tt>) are recognized:  +<tt>\n</tt> for newline character (NL), <tt>\t</tt> for horizontal tabulation (HT, TAB)  +and <tt>\b</tt> for backspace (BS). No other char escape sequence, nor octal   char sequences are valid.</p></div>  -<div class="paragraph"><p>Variable values ending in a <code>\</code> are continued on the next line in the  +<div class="paragraph"><p>Variable values ending in a <tt>\</tt> are continued on the next line in the   customary UNIX fashion.</p></div>   <div class="paragraph"><p>Some variables may require a special value format.</p></div>   </div>   <div class="sect2">   <h3 id="_includes">Includes</h3>   <div class="paragraph"><p>You can include one config file from another by setting the special  -<code>include.path</code> variable to the name of the file to be included. The  +<tt>include.path</tt> variable to the name of the file to be included. The   included file is expanded immediately, as if its contents had been   found at the location of the include directive. If the value of the  -<code>include.path</code> variable is a relative path, the path is considered to be  +<tt>include.path</tt> variable is a relative path, the path is considered to be   relative to the configuration file in which the include directive was  -found. The value of <code>include.path</code> is subject to tilde expansion: <code>~/</code>  -is expanded to the value of <code>$HOME</code>, and <code>~user/</code> to the specified  +found. The value of <tt>include.path</tt> is subject to tilde expansion: <tt>~/</tt>  +is expanded to the value of <tt>$HOME</tt>, and <tt>~user/</tt> to the specified   user&#8217;s home directory. See below for examples.</p></div>   </div>   <div class="sect2">   <h3 id="_example">Example</h3>   <div class="literalblock">   <div class="content">  -<pre><code># Core variables  +<pre><tt># Core variables   [core]   ; Don't trust file modes  - filemode = false</code></pre>  + filemode = false</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code># Our diff algorithm  +<pre><tt># Our diff algorithm   [diff]   external = /usr/local/bin/diff-wrapper  - renames = true</code></pre>  + renames = true</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>[branch "devel"]  +<pre><tt>[branch "devel"]   remote = origin  - merge = refs/heads/devel</code></pre>  + merge = refs/heads/devel</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code># Proxy settings  +<pre><tt># Proxy settings   [core]   gitProxy="ssh" for "kernel.org"  - gitProxy=default-proxy ; for the rest</code></pre>  + gitProxy=default-proxy ; for the rest</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>[include]  +<pre><tt>[include]   path = /path/to/foo.inc ; include by absolute path   path = foo ; expand "foo" relative to the current file  - path = ~/foo ; expand "foo" in your $HOME directory</code></pre>  + path = ~/foo ; expand "foo" in your $HOME directory</tt></pre>   </div></div>   </div>   <div class="sect2">  @@ -1559,7 +1563,7 @@  </dt>   <dd>   <p>  - Advise to consider using the <code>-u</code> option to <a href="git-status.html">git-status(1)</a>  + Advise to consider using the <tt>-u</tt> option to <a href="git-status.html">git-status(1)</a>   when the command takes more than 2 seconds to enumerate untracked   files.   </p>  @@ -1695,14 +1699,14 @@  <dd>   <p>   The commands that output paths (e.g. <em>ls-files</em>,  - <em>diff</em>), when not given the <code>-z</code> option, will quote  + <em>diff</em>), when not given the <tt>-z</tt> option, will quote   "unusual" characters in the pathname by enclosing the   pathname in a double-quote pair and with backslashes the   same way strings in C source code are quoted. If this   variable is set to false, the bytes higher than 0x80 are   not quoted but output as verbatim. Note that double   quote, backslash and control characters are always  - quoted without <code>-z</code> regardless of the setting of this  + quoted without <tt>-z</tt> regardless of the setting of this   variable.   </p>   </dd>  @@ -1712,9 +1716,9 @@  <dd>   <p>   Sets the line ending type to use in the working directory for  - files that have the <code>text</code> property set. Alternatives are  + files that have the <tt>text</tt> property set. Alternatives are   <em>lf</em>, <em>crlf</em> and <em>native</em>, which uses the platform&#8217;s native  - line ending. The default value is <code>native</code>. See  + line ending. The default value is <tt>native</tt>. See   <a href="gitattributes.html">gitattributes(5)</a> for more information on end-of-line   conversion.   </p>  @@ -1724,13 +1728,13 @@  </dt>   <dd>   <p>  - If true, makes Git check if converting <code>CRLF</code> is reversible when  + If true, makes Git check if converting <tt>CRLF</tt> is reversible when   end-of-line conversion is active. Git will verify if a command   modifies a file in the work tree either directly or indirectly.   For example, committing a file followed by checking out the   same file should yield the original file in the work tree. If   this is not the case for the current setting of  - <code>core.autocrlf</code>, Git will reject the file. The variable can  + <tt>core.autocrlf</tt>, Git will reject the file. The variable can   be set to "warn", in which case Git will only warn about an   irreversible conversion but continue the operation.   </p>  @@ -1756,13 +1760,13 @@  converting CRLFs corrupts data.</p></div>   <div class="paragraph"><p>Note, this safety check does not mean that a checkout will generate a   file identical to the original file for a different setting of  -<code>core.eol</code> and <code>core.autocrlf</code>, but only for the current one. For  -example, a text file with <code>LF</code> would be accepted with <code>core.eol=lf</code>  -and could later be checked out with <code>core.eol=crlf</code>, in which case the  -resulting file would contain <code>CRLF</code>, although the original file  -contained <code>LF</code>. However, in both work trees the line endings would be  -consistent, that is either all <code>LF</code> or all <code>CRLF</code>, but never mixed. A  -file with mixed line endings would be reported by the <code>core.safecrlf</code>  +<tt>core.eol</tt> and <tt>core.autocrlf</tt>, but only for the current one. For  +example, a text file with <tt>LF</tt> would be accepted with <tt>core.eol=lf</tt>  +and could later be checked out with <tt>core.eol=crlf</tt>, in which case the  +resulting file would contain <tt>CRLF</tt>, although the original file  +contained <tt>LF</tt>. However, in both work trees the line endings would be  +consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed. A  +file with mixed line endings would be reported by the <tt>core.safecrlf</tt>   mechanism.</p></div>   </dd>   <dt class="hdlist1">  @@ -1771,10 +1775,10 @@  <dd>   <p>   Setting this variable to "true" is almost the same as setting  - the <code>text</code> attribute to "auto" on all files except that text  + the <tt>text</tt> attribute to "auto" on all files except that text   files are not guaranteed to be normalized: files that contain  - <code>CRLF</code> in the repository will not be touched. Use this  - setting if you want to have <code>CRLF</code> line endings in your  + <tt>CRLF</tt> in the repository will not be touched. Use this  + setting if you want to have <tt>CRLF</tt> line endings in your   working directory even though the repository does not have   normalized line endings. This variable can be set to <em>input</em>,   in which case no output conversion is performed.  @@ -1811,7 +1815,7 @@  <div class="paragraph"><p>Can be overridden by the <em>GIT_PROXY_COMMAND</em> environment variable   (which always applies universally, without the special "for"   handling).</p></div>  -<div class="paragraph"><p>The special string <code>none</code> can be used as the proxy command to  +<div class="paragraph"><p>The special string <tt>none</tt> can be used as the proxy command to   specify that no proxy be used for a given domain pattern.   This is useful for excluding servers inside a firewall from   proxy use, while defaulting to a common proxy for external domains.</p></div>  @@ -2038,8 +2042,8 @@  <p>   In addition to <em>.gitignore</em> (per-directory) and   <em>.git/info/exclude</em>, Git looks into this file for patterns  - of files which are not meant to be tracked. "<code>~/</code>" is expanded  - to the value of <code>$HOME</code> and "<code>~user/</code>" to the specified user&#8217;s  + of files which are not meant to be tracked. "<tt>~/</tt>" is expanded  + to the value of <tt>$HOME</tt> and "<tt>~user/</tt>" to the specified user&#8217;s   home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.   If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore   is used instead. See <a href="gitignore.html">gitignore(5)</a>.  @@ -2067,7 +2071,7 @@  In addition to <em>.gitattributes</em> (per-directory) and   <em>.git/info/attributes</em>, Git looks into this file for attributes   (see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same  - way as for <code>core.excludesfile</code>. Its default value is  + way as for <tt>core.excludesfile</tt>. Its default value is   $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not   set or empty, $HOME/.config/git/attributes is used instead.   </p>  @@ -2077,10 +2081,10 @@  </dt>   <dd>   <p>  - Commands such as <code>commit</code> and <code>tag</code> that lets you edit  + Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit   messages by launching an editor uses the value of this   variable when it is set, and the environment variable  - <code>GIT_EDITOR</code> is not set. See <a href="git-var.html">git-var(1)</a>.  + <tt>GIT_EDITOR</tt> is not set. See <a href="git-var.html">git-var(1)</a>.   </p>   </dd>   <dt class="hdlist1">  @@ -2088,7 +2092,7 @@  </dt>   <dd>   <p>  - Commands such as <code>commit</code> and <code>tag</code> that lets you edit  + Commands such as <tt>commit</tt> and <tt>tag</tt> that lets you edit   messages consider a line that begins with this character   commented, and removes them after the editor returns   (default <em>#</em>).  @@ -2099,9 +2103,9 @@  </dt>   <dd>   <p>  - Text editor used by <code>git rebase -i</code> for editing the rebase instruction file.  + Text editor used by <tt>git rebase -i</tt> for editing the rebase instruction file.   The value is meant to be interpreted by the shell when it is used.  - It can be overridden by the <code>GIT_SEQUENCE_EDITOR</code> environment variable.  + It can be overridden by the <tt>GIT_SEQUENCE_EDITOR</tt> environment variable.   When not configured the default commit message editor is used instead.   </p>   </dd>  @@ -2112,18 +2116,21 @@  <p>   Text viewer for use by Git commands (e.g., <em>less</em>). The value   is meant to be interpreted by the shell. The order of preference  - is the <code>$GIT_PAGER</code> environment variable, then <code>core.pager</code>  - configuration, then <code>$PAGER</code>, and then the default chosen at  + is the <tt>$GIT_PAGER</tt> environment variable, then <tt>core.pager</tt>  + configuration, then <tt>$PAGER</tt>, and then the default chosen at   compile time (usually <em>less</em>).   </p>  -<div class="paragraph"><p>When the <code>LESS</code> environment variable is unset, Git sets it to <code>FRSX</code>  -(if <code>LESS</code> environment variable is set, Git does not change it at  +<div class="paragraph"><p>When the <tt>LESS</tt> environment variable is unset, Git sets it to <tt>FRSX</tt>  +(if <tt>LESS</tt> environment variable is set, Git does not change it at   all). If you want to selectively override Git&#8217;s default setting  -for <code>LESS</code>, you can set <code>core.pager</code> to e.g. <code>less -+S</code>. This will  +for <tt>LESS</tt>, you can set <tt>core.pager</tt> to e.g. <tt>less -+S</tt>. This will   be passed to the shell by Git, which will translate the final  -command to <code>LESS=FRSX less -+S</code>. The environment tells the command  -to set the <code>S</code> option to chop long lines but the command line  +command to <tt>LESS=FRSX less -+S</tt>. The environment tells the command  +to set the <tt>S</tt> option to chop long lines but the command line   resets it to the default to fold long lines.</p></div>  +<div class="paragraph"><p>Likewise, when the <tt>LV</tt> environment variable is unset, Git sets it  +to <tt>-c</tt>. You can override this setting by exporting <tt>LV</tt> with  +another value or setting <tt>core.pager</tt> to <tt>lv +c</tt>.</p></div>   </dd>   <dt class="hdlist1">   core.whitespace  @@ -2131,62 +2138,62 @@  <dd>   <p>   A comma separated list of common whitespace problems to  - notice. <em>git diff</em> will use <code>color.diff.whitespace</code> to  + notice. <em>git diff</em> will use <tt>color.diff.whitespace</tt> to   highlight them, and <em>git apply --whitespace=error</em> will  - consider them as errors. You can prefix <code>-</code> to disable  - any of them (e.g. <code>-trailing-space</code>):  + consider them as errors. You can prefix <tt>-</tt> to disable  + any of them (e.g. <tt>-trailing-space</tt>):   </p>   <div class="ulist"><ul>   <li>   <p>  -<code>blank-at-eol</code> treats trailing whitespaces at the end of the line  +<tt>blank-at-eol</tt> treats trailing whitespaces at the end of the line   as an error (enabled by default).   </p>   </li>   <li>   <p>  -<code>space-before-tab</code> treats a space character that appears immediately  +<tt>space-before-tab</tt> treats a space character that appears immediately   before a tab character in the initial indent part of the line as an   error (enabled by default).   </p>   </li>   <li>   <p>  -<code>indent-with-non-tab</code> treats a line that is indented with space  +<tt>indent-with-non-tab</tt> treats a line that is indented with space   characters instead of the equivalent tabs as an error (not enabled by   default).   </p>   </li>   <li>   <p>  -<code>tab-in-indent</code> treats a tab character in the initial indent part of  +<tt>tab-in-indent</tt> treats a tab character in the initial indent part of   the line as an error (not enabled by default).   </p>   </li>   <li>   <p>  -<code>blank-at-eof</code> treats blank lines added at the end of file as an error  +<tt>blank-at-eof</tt> treats blank lines added at the end of file as an error   (enabled by default).   </p>   </li>   <li>   <p>  -<code>trailing-space</code> is a short-hand to cover both <code>blank-at-eol</code> and  - <code>blank-at-eof</code>.  +<tt>trailing-space</tt> is a short-hand to cover both <tt>blank-at-eol</tt> and  + <tt>blank-at-eof</tt>.   </p>   </li>   <li>   <p>  -<code>cr-at-eol</code> treats a carriage-return at the end of line as  - part of the line terminator, i.e. with it, <code>trailing-space</code>  +<tt>cr-at-eol</tt> treats a carriage-return at the end of line as  + part of the line terminator, i.e. with it, <tt>trailing-space</tt>   does not trigger if the character before such a carriage-return   is not a whitespace (not enabled by default).   </p>   </li>   <li>   <p>  -<code>tabwidth=&lt;n&gt;</code> tells how many character positions a tab occupies; this  - is relevant for <code>indent-with-non-tab</code> and when Git fixes <code>tab-in-indent</code>  +<tt>tabwidth=&lt;n&gt;</tt> tells how many character positions a tab occupies; this  + is relevant for <tt>indent-with-non-tab</tt> and when Git fixes <tt>tab-in-indent</tt>   errors. The default tab width is 8. Allowed values are 1 to 63.   </p>   </li>  @@ -2274,9 +2281,9 @@  Tells <em>git add</em> to continue adding files when some files cannot be   added due to indexing errors. Equivalent to the <em>--ignore-errors</em>   option of <a href="git-add.html">git-add(1)</a>. Older versions of Git accept only  - <code>add.ignore-errors</code>, which does not follow the usual naming  + <tt>add.ignore-errors</tt>, which does not follow the usual naming   convention for configuration variables. Newer versions of Git  - honor <code>add.ignoreErrors</code> as well.  + honor <tt>add.ignoreErrors</tt> as well.   </p>   </dd>   <dt class="hdlist1">  @@ -2309,7 +2316,7 @@  <p>   If true, git-am will call git-mailsplit for patches in mbox format   with parameter <em>--keep-cr</em>. In this case git-mailsplit will  - not remove <code>\r</code> from lines ending with <code>\r\n</code>. Can be overridden  + not remove <tt>\r</tt> from lines ending with <tt>\r\n</tt>. Can be overridden   by giving <em>--no-keep-cr</em> from the command line.   See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.   </p>  @@ -2344,10 +2351,10 @@  Tells <em>git branch</em> and <em>git checkout</em> to set up new branches   so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the   starting point branch. Note that even if this option is not set,  - this behavior can be chosen per-branch using the <code>--track</code>  - and <code>--no-track</code> options. The valid settings are: <code>false</code>&#8201;&#8212;&#8201;no  - automatic setup is done; <code>true</code>&#8201;&#8212;&#8201;automatic setup is done when the  - starting point is a remote-tracking branch; <code>always</code>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a  + this behavior can be chosen per-branch using the <tt>--track</tt>  + and <tt>--no-track</tt> options. The valid settings are: <tt>false</tt>&#8201;&#8212;&#8201;no  + automatic setup is done; <tt>true</tt>&#8201;&#8212;&#8201;automatic setup is done when the  + starting point is a remote-tracking branch; <tt>always</tt>&#8201;&#8212;&#8201; automatic setup is done when the starting point is either a   local branch or remote-tracking   branch. This option defaults to true.   </p>  @@ -2360,12 +2367,12 @@  When a new branch is created with <em>git branch</em> or <em>git checkout</em>   that tracks another branch, this variable tells Git to set   up pull to rebase instead of merge (see "branch.&lt;name&gt;.rebase").  - When <code>never</code>, rebase is never automatically set to true.  - When <code>local</code>, rebase is set to true for tracked branches of  + When <tt>never</tt>, rebase is never automatically set to true.  + When <tt>local</tt>, rebase is set to true for tracked branches of   other local branches.  - When <code>remote</code>, rebase is set to true for tracked branches of  + When <tt>remote</tt>, rebase is set to true for tracked branches of   remote-tracking branches.  - When <code>always</code>, rebase will be set to true for all tracking  + When <tt>always</tt>, rebase will be set to true for all tracking   branches.   See "branch.autosetupmerge" for details on how to set up a   branch to track another branch.  @@ -2379,13 +2386,13 @@  <p>   When on branch &lt;name&gt;, it tells <em>git fetch</em> and <em>git push</em>   which remote to fetch from/push to. The remote to push to  - may be overridden with <code>remote.pushdefault</code> (for all branches).  + may be overridden with <tt>remote.pushdefault</tt> (for all branches).   The remote to push to, for the current branch, may be further  - overridden by <code>branch.&lt;name&gt;.pushremote</code>. If no remote is  + overridden by <tt>branch.&lt;name&gt;.pushremote</tt>. If no remote is   configured, or if you are not on any branch, it defaults to  - <code>origin</code> for fetching and <code>remote.pushdefault</code> for pushing.  - Additionally, <code>.</code> (a period) is the current local repository  - (a dot-repository), see <code>branch.&lt;name&gt;.merge</code>'s final note below.  + <tt>origin</tt> for fetching and <tt>remote.pushdefault</tt> for pushing.  + Additionally, <tt>.</tt> (a period) is the current local repository  + (a dot-repository), see <tt>branch.&lt;name&gt;.merge</tt>'s final note below.   </p>   </dd>   <dt class="hdlist1">  @@ -2393,11 +2400,11 @@  </dt>   <dd>   <p>  - When on branch &lt;name&gt;, it overrides <code>branch.&lt;name&gt;.remote</code> for  - pushing. It also overrides <code>remote.pushdefault</code> for pushing  + When on branch &lt;name&gt;, it overrides <tt>branch.&lt;name&gt;.remote</tt> for  + pushing. It also overrides <tt>remote.pushdefault</tt> for pushing   from branch &lt;name&gt;. When you pull from one place (e.g. your   upstream) and push to another place (e.g. your own publishing  - repository), you would want to set <code>remote.pushdefault</code> to  + repository), you would want to set <tt>remote.pushdefault</tt> to   specify the remote to push to for all branches, and use this   option to override it for a specific branch.   </p>  @@ -2422,7 +2429,7 @@  If you wish to setup <em>git pull</em> so that it merges into &lt;name&gt; from   another branch in the local repository, you can point   branch.&lt;name&gt;.merge to the desired branch, and use the relative path  - setting <code>.</code> (a period) for branch.&lt;name&gt;.remote.  + setting <tt>.</tt> (a period) for branch.&lt;name&gt;.remote.   </p>   </dd>   <dt class="hdlist1">  @@ -2448,9 +2455,9 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>When preserve, also pass `--preserve-merges` along to 'git rebase'  +<pre><tt>When preserve, also pass `--preserve-merges` along to 'git rebase'   so that locally committed merge commits will not be flattened  -by running 'git pull'.</code></pre>  +by running 'git pull'.</tt></pre>   </div></div>   <div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use   it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>  @@ -2462,7 +2469,7 @@  <dd>   <p>   Branch description, can be edited with  - <code>git branch --edit-description</code>. Branch description is  + <tt>git branch --edit-description</tt>. Branch description is   automatically added in the format-patch cover letter or   request-pull summary.   </p>  @@ -2502,8 +2509,8 @@  <dd>   <p>   A boolean to enable/disable color in the output of  - <a href="git-branch.html">git-branch(1)</a>. May be set to <code>always</code>,  - <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used  + <a href="git-branch.html">git-branch(1)</a>. May be set to <tt>always</tt>,  + <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used   only when the output is to a terminal. Defaults to false.   </p>   </dd>  @@ -2512,17 +2519,17 @@  </dt>   <dd>   <p>  - Use customized color for branch coloration. <code>&lt;slot&gt;</code> is one of  - <code>current</code> (the current branch), <code>local</code> (a local branch),  - <code>remote</code> (a remote-tracking branch in refs/remotes/),  - <code>upstream</code> (upstream tracking branch), <code>plain</code> (other  + Use customized color for branch coloration. <tt>&lt;slot&gt;</tt> is one of  + <tt>current</tt> (the current branch), <tt>local</tt> (a local branch),  + <tt>remote</tt> (a remote-tracking branch in refs/remotes/),  + <tt>upstream</tt> (upstream tracking branch), <tt>plain</tt> (other   refs).   </p>   <div class="paragraph"><p>The value for these configuration variables is a list of colors (at most   two) and attributes (at most one), separated by spaces. The colors  -accepted are <code>normal</code>, <code>black</code>, <code>red</code>, <code>green</code>, <code>yellow</code>, <code>blue</code>,  -<code>magenta</code>, <code>cyan</code> and <code>white</code>; the attributes are <code>bold</code>, <code>dim</code>, <code>ul</code>,  -<code>blink</code> and <code>reverse</code>. The first color given is the foreground; the  +accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,  +<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,  +<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the   second is the background. The position of the attribute, if any,   doesn&#8217;t matter.</p></div>   </dd>  @@ -2532,26 +2539,26 @@  <dd>   <p>   Whether to use ANSI escape sequences to add color to patches.  - If this is set to <code>always</code>, <a href="git-diff.html">git-diff(1)</a>,  + If this is set to <tt>always</tt>, <a href="git-diff.html">git-diff(1)</a>,   <a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color  - for all patches. If it is set to <code>true</code> or <code>auto</code>, those  + for all patches. If it is set to <tt>true</tt> or <tt>auto</tt>, those   commands will only use color when output is to the terminal.   Defaults to false.   </p>   <div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> nor the   <em>git-diff-&#42;</em> plumbing commands. Can be overridden on the  -command line with the <code>--color[=&lt;when&gt;]</code> option.</p></div>  +command line with the <tt>--color[=&lt;when&gt;]</tt> option.</p></div>   </dd>   <dt class="hdlist1">   color.diff.&lt;slot&gt;   </dt>   <dd>   <p>  - Use customized color for diff colorization. <code>&lt;slot&gt;</code> specifies  + Use customized color for diff colorization. <tt>&lt;slot&gt;</tt> specifies   which part of the patch to use the specified color, and is one  - of <code>plain</code> (context text), <code>meta</code> (metainformation), <code>frag</code>  - (hunk header), <em>func</em> (function in hunk header), <code>old</code> (removed lines),  - <code>new</code> (added lines), <code>commit</code> (commit headers), or <code>whitespace</code>  + of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>  + (hunk header), <em>func</em> (function in hunk header), <tt>old</tt> (removed lines),  + <tt>new</tt> (added lines), <tt>commit</tt> (commit headers), or <tt>whitespace</tt>   (highlighting whitespace errors). The values of these variables may be   specified as in color.branch.&lt;slot&gt;.   </p>  @@ -2561,8 +2568,8 @@  </dt>   <dd>   <p>  - Use customized color for <em>git log --decorate</em> output. <code>&lt;slot&gt;</code> is one  - of <code>branch</code>, <code>remoteBranch</code>, <code>tag</code>, <code>stash</code> or <code>HEAD</code> for local  + Use customized color for <em>git log --decorate</em> output. <tt>&lt;slot&gt;</tt> is one  + of <tt>branch</tt>, <tt>remoteBranch</tt>, <tt>tag</tt>, <tt>stash</tt> or <tt>HEAD</tt> for local   branches, remote-tracking branches, tags, stash and HEAD, respectively.   </p>   </dd>  @@ -2571,9 +2578,9 @@  </dt>   <dd>   <p>  - When set to <code>always</code>, always highlight matches. When <code>false</code> (or  - <code>never</code>), never. When set to <code>true</code> or <code>auto</code>, use color only  - when the output is written to the terminal. Defaults to <code>false</code>.  + When set to <tt>always</tt>, always highlight matches. When <tt>false</tt> (or  + <tt>never</tt>), never. When set to <tt>true</tt> or <tt>auto</tt>, use color only  + when the output is written to the terminal. Defaults to <tt>false</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -2581,46 +2588,46 @@  </dt>   <dd>   <p>  - Use customized color for grep colorization. <code>&lt;slot&gt;</code> specifies which  + Use customized color for grep colorization. <tt>&lt;slot&gt;</tt> specifies which   part of the line to use the specified color, and is one of   </p>   <div class="openblock">   <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>context</code>  +<tt>context</tt>   </dt>   <dd>   <p>  - non-matching text in context lines (when using <code>-A</code>, <code>-B</code>, or <code>-C</code>)  + non-matching text in context lines (when using <tt>-A</tt>, <tt>-B</tt>, or <tt>-C</tt>)   </p>   </dd>   <dt class="hdlist1">  -<code>filename</code>  +<tt>filename</tt>   </dt>   <dd>   <p>  - filename prefix (when not using <code>-h</code>)  + filename prefix (when not using <tt>-h</tt>)   </p>   </dd>   <dt class="hdlist1">  -<code>function</code>  +<tt>function</tt>   </dt>   <dd>   <p>  - function name lines (when using <code>-p</code>)  + function name lines (when using <tt>-p</tt>)   </p>   </dd>   <dt class="hdlist1">  -<code>linenumber</code>  +<tt>linenumber</tt>   </dt>   <dd>   <p>  - line number prefix (when using <code>-n</code>)  + line number prefix (when using <tt>-n</tt>)   </p>   </dd>   <dt class="hdlist1">  -<code>match</code>  +<tt>match</tt>   </dt>   <dd>   <p>  @@ -2628,7 +2635,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>selected</code>  +<tt>selected</tt>   </dt>   <dd>   <p>  @@ -2636,12 +2643,12 @@  </p>   </dd>   <dt class="hdlist1">  -<code>separator</code>  +<tt>separator</tt>   </dt>   <dd>   <p>  - separators between fields on a line (<code>:</code>, <code>-</code>, and <code>=</code>)  - and between hunks (<code>--</code>)  + separators between fields on a line (<tt>:</tt>, <tt>-</tt>, and <tt>=</tt>)  + and between hunks (<tt>--</tt>)   </p>   </dd>   </dl></div>  @@ -2653,10 +2660,10 @@  </dt>   <dd>   <p>  - When set to <code>always</code>, always use colors for interactive prompts  + When set to <tt>always</tt>, always use colors for interactive prompts   and displays (such as those used by "git-add --interactive" and  - "git-clean --interactive"). When false (or <code>never</code>), never.  - When set to <code>true</code> or <code>auto</code>, use colors only when the output is  + "git-clean --interactive"). When false (or <tt>never</tt>), never.  + When set to <tt>true</tt> or <tt>auto</tt>, use colors only when the output is   to the terminal. Defaults to false.   </p>   </dd>  @@ -2666,8 +2673,8 @@  <dd>   <p>   Use customized color for <em>git add --interactive</em> and <em>git clean  - --interactive</em> output. <code>&lt;slot&gt;</code> may be <code>prompt</code>, <code>header</code>, <code>help</code>  - or <code>error</code>, for four distinct types of normal output from  + --interactive</em> output. <tt>&lt;slot&gt;</tt> may be <tt>prompt</tt>, <tt>header</tt>, <tt>help</tt>  + or <tt>error</tt>, for four distinct types of normal output from   interactive commands. The values of these variables may be   specified as in color.branch.&lt;slot&gt;.   </p>  @@ -2687,8 +2694,8 @@  <dd>   <p>   A boolean to enable/disable color in the output of  - <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <code>always</code>,  - <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used  + <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <tt>always</tt>,  + <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used   only when the output is to a terminal. Defaults to false.   </p>   </dd>  @@ -2698,8 +2705,8 @@  <dd>   <p>   A boolean to enable/disable color in the output of  - <a href="git-status.html">git-status(1)</a>. May be set to <code>always</code>,  - <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used  + <a href="git-status.html">git-status(1)</a>. May be set to <tt>always</tt>,  + <tt>false</tt> (or <tt>never</tt>) or <tt>auto</tt> (or <tt>true</tt>), in which case colors are used   only when the output is to a terminal. Defaults to false.   </p>   </dd>  @@ -2708,13 +2715,13 @@  </dt>   <dd>   <p>  - Use customized color for status colorization. <code>&lt;slot&gt;</code> is  - one of <code>header</code> (the header text of the status message),  - <code>added</code> or <code>updated</code> (files which are added but not committed),  - <code>changed</code> (files which are changed but not added in the index),  - <code>untracked</code> (files which are not tracked by Git),  - <code>branch</code> (the current branch), or  - <code>nobranch</code> (the color the <em>no branch</em> warning is shown in, defaulting  + Use customized color for status colorization. <tt>&lt;slot&gt;</tt> is  + one of <tt>header</tt> (the header text of the status message),  + <tt>added</tt> or <tt>updated</tt> (files which are added but not committed),  + <tt>changed</tt> (files which are changed but not added in the index),  + <tt>untracked</tt> (files which are not tracked by Git),  + <tt>branch</tt> (the current branch), or  + <tt>nobranch</tt> (the color the <em>no branch</em> warning is shown in, defaulting   to red). The values of these variables may be specified as in   color.branch.&lt;slot&gt;.   </p>  @@ -2725,14 +2732,14 @@  <dd>   <p>   This variable determines the default value for variables such  - as <code>color.diff</code> and <code>color.grep</code> that control the use of color  + as <tt>color.diff</tt> and <tt>color.grep</tt> that control the use of color   per command family. Its scope will expand as more commands learn  - configuration to set a default for the <code>--color</code> option. Set it  - to <code>false</code> or <code>never</code> if you prefer Git commands not to use  + configuration to set a default for the <tt>--color</tt> option. Set it  + to <tt>false</tt> or <tt>never</tt> if you prefer Git commands not to use   color unless enabled explicitly with some other configuration  - or the <code>--color</code> option. Set it to <code>always</code> if you want all  + or the <tt>--color</tt> option. Set it to <tt>always</tt> if you want all   output not intended for machine consumption to use color, to  - <code>true</code> or <code>auto</code> (this is the default since Git 1.8.4) if you  + <tt>true</tt> or <tt>auto</tt> (this is the default since Git 1.8.4) if you   want such output to use color when written to the terminal.   </p>   </dd>  @@ -2751,7 +2758,7 @@  <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>always</code>  +<tt>always</tt>   </dt>   <dd>   <p>  @@ -2759,7 +2766,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>never</code>  +<tt>never</tt>   </dt>   <dd>   <p>  @@ -2767,7 +2774,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>auto</code>  +<tt>auto</tt>   </dt>   <dd>   <p>  @@ -2783,7 +2790,7 @@  <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>column</code>  +<tt>column</tt>   </dt>   <dd>   <p>  @@ -2791,7 +2798,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>row</code>  +<tt>row</tt>   </dt>   <dd>   <p>  @@ -2799,7 +2806,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>plain</code>  +<tt>plain</tt>   </dt>   <dd>   <p>  @@ -2814,7 +2821,7 @@  <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>dense</code>  +<tt>dense</tt>   </dt>   <dd>   <p>  @@ -2822,7 +2829,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>nodense</code>  +<tt>nodense</tt>   </dt>   <dd>   <p>  @@ -2837,8 +2844,8 @@  </dt>   <dd>   <p>  - Specify whether to output branch listing in <code>git branch</code> in columns.  - See <code>column.ui</code> for details.  + Specify whether to output branch listing in <tt>git branch</tt> in columns.  + See <tt>column.ui</tt> for details.   </p>   </dd>   <dt class="hdlist1">  @@ -2846,8 +2853,8 @@  </dt>   <dd>   <p>  - Specify the layout when list items in <code>git clean -i</code>, which always  - shows files and directories in columns. See <code>column.ui</code> for details.  + Specify the layout when list items in <tt>git clean -i</tt>, which always  + shows files and directories in columns. See <tt>column.ui</tt> for details.   </p>   </dd>   <dt class="hdlist1">  @@ -2855,8 +2862,8 @@  </dt>   <dd>   <p>  - Specify whether to output untracked files in <code>git status</code> in columns.  - See <code>column.ui</code> for details.  + Specify whether to output untracked files in <tt>git status</tt> in columns.  + See <tt>column.ui</tt> for details.   </p>   </dd>   <dt class="hdlist1">  @@ -2864,8 +2871,8 @@  </dt>   <dd>   <p>  - Specify whether to output tag listing in <code>git tag</code> in columns.  - See <code>column.ui</code> for details.  + Specify whether to output tag listing in <tt>git tag</tt> in columns.  + See <tt>column.ui</tt> for details.   </p>   </dd>   <dt class="hdlist1">  @@ -2873,12 +2880,12 @@  </dt>   <dd>   <p>  - This setting overrides the default of the <code>--cleanup</code> option in  - <code>git commit</code>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the  + This setting overrides the default of the <tt>--cleanup</tt> option in  + <tt>git commit</tt>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the   default can be useful when you always want to keep lines that begin  - with comment character <code>#</code> in your log message, in which case you  - would do <code>git config commit.cleanup whitespace</code> (note that you will  - have to remove the help lines that begin with <code>#</code> in the commit log  + with comment character <tt>#</tt> in your log message, in which case you  + would do <tt>git config commit.cleanup whitespace</tt> (note that you will  + have to remove the help lines that begin with <tt>#</tt> in the commit log   template yourself, if you do this).   </p>   </dd>  @@ -2898,7 +2905,7 @@  <dd>   <p>   Specify a file to use as the template for new commit messages.  - "<code>~/</code>" is expanded to the value of <code>$HOME</code> and "<code>~user/</code>" to the  + "<tt>~/</tt>" is expanded to the value of <tt>$HOME</tt> and "<tt>~user/</tt>" to the   specified user&#8217;s home directory.   </p>   </dd>  @@ -2952,7 +2959,7 @@  <p>   When using <em>git diff</em> to compare with work tree   files, do not consider stat-only change as changed.  - Instead, silently run <code>git update-index --refresh</code> to  + Instead, silently run <tt>git update-index --refresh</tt> to   update the cached stat information for paths whose   contents in the work tree match the contents in the   index. This option defaults to true. Note that this  @@ -2965,18 +2972,18 @@  </dt>   <dd>   <p>  - A comma separated list of <code>--dirstat</code> parameters specifying the  - default behavior of the <code>--dirstat</code> option to <a href="git-diff.html">git-diff(1)</a>`  + A comma separated list of <tt>--dirstat</tt> parameters specifying the  + default behavior of the <tt>--dirstat</tt> option to <a href="git-diff.html">git-diff(1)</a>`   and friends. The defaults can be overridden on the command line  - (using <code>--dirstat=&lt;param1,param2,...&gt;</code>). The fallback defaults  - (when not changed by <code>diff.dirstat</code>) are <code>changes,noncumulative,3</code>.  + (using <tt>--dirstat=&lt;param1,param2,...&gt;</tt>). The fallback defaults  + (when not changed by <tt>diff.dirstat</tt>) are <tt>changes,noncumulative,3</tt>.   The following parameters are available:   </p>   <div class="openblock">   <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>changes</code>  +<tt>changes</tt>   </dt>   <dd>   <p>  @@ -2988,39 +2995,39 @@  </p>   </dd>   <dt class="hdlist1">  -<code>lines</code>  +<tt>lines</tt>   </dt>   <dd>   <p>   Compute the dirstat numbers by doing the regular line-based diff   analysis, and summing the removed/added line counts. (For binary   files, count 64-byte chunks instead, since binary files have no  - natural concept of lines). This is a more expensive <code>--dirstat</code>  - behavior than the <code>changes</code> behavior, but it does count rearranged  + natural concept of lines). This is a more expensive <tt>--dirstat</tt>  + behavior than the <tt>changes</tt> behavior, but it does count rearranged   lines within a file as much as other changes. The resulting output  - is consistent with what you get from the other <code>--*stat</code> options.  + is consistent with what you get from the other <tt>--*stat</tt> options.   </p>   </dd>   <dt class="hdlist1">  -<code>files</code>  +<tt>files</tt>   </dt>   <dd>   <p>   Compute the dirstat numbers by counting the number of files changed.   Each changed file counts equally in the dirstat analysis. This is  - the computationally cheapest <code>--dirstat</code> behavior, since it does  + the computationally cheapest <tt>--dirstat</tt> behavior, since it does   not have to look at the file contents at all.   </p>   </dd>   <dt class="hdlist1">  -<code>cumulative</code>  +<tt>cumulative</tt>   </dt>   <dd>   <p>   Count changes in a child directory for the parent directory as well.  - Note that when using <code>cumulative</code>, the sum of the percentages  + Note that when using <tt>cumulative</tt>, the sum of the percentages   reported may exceed 100%. The default (non-cumulative) behavior can  - be specified with the <code>noncumulative</code> parameter.  + be specified with the <tt>noncumulative</tt> parameter.   </p>   </dd>   <dt class="hdlist1">  @@ -3038,7 +3045,7 @@  <div class="paragraph"><p>Example: The following will count changed files, while ignoring   directories with less than 10% of the total amount of changed files,   and accumulating child directory counts in the parent directories:  -<code>files,10,cumulative</code>.</p></div>  +<tt>files,10,cumulative</tt>.</p></div>   </dd>   <dt class="hdlist1">   diff.statGraphWidth  @@ -3099,7 +3106,7 @@  </p>   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>git diff</code>  +<tt>git diff</tt>   </dt>   <dd>   <p>  @@ -3107,7 +3114,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>git diff HEAD</code>  +<tt>git diff HEAD</tt>   </dt>   <dd>   <p>  @@ -3115,7 +3122,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>git diff --cached</code>  +<tt>git diff --cached</tt>   </dt>   <dd>   <p>  @@ -3123,7 +3130,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>git diff HEAD:file1 file2</code>  +<tt>git diff HEAD:file1 file2</tt>   </dt>   <dd>   <p>  @@ -3131,7 +3138,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>git diff --no-index a b</code>  +<tt>git diff --no-index a b</tt>   </dt>   <dd>   <p>  @@ -3193,7 +3200,7 @@  <p>   Specify the format in which differences in submodules are   shown. The "log" format lists the commits in the range like  - <a href="git-submodule.html">git-submodule(1)</a> <code>summary</code> does. The "short" format  + <a href="git-submodule.html">git-submodule(1)</a> <tt>summary</tt> does. The "short" format   format just shows the names of the commits at the beginning   and end of the range. Defaults to short.   </p>  @@ -3273,7 +3280,7 @@  <dd>   <p>   Controls which diff tool is used by <a href="git-difftool.html">git-difftool(1)</a>.  - This variable overrides the value configured in <code>merge.tool</code>.  + This variable overrides the value configured in <tt>merge.tool</tt>.   The list below shows the valid built-in values.   Any other value is treated as a custom diff tool and requires   that a corresponding difftool.&lt;tool&gt;.cmd variable is defined.  @@ -3387,7 +3394,7 @@  <div class="content">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>default</code>, <code>myers</code>  +<tt>default</tt>, <tt>myers</tt>   </dt>   <dd>   <p>  @@ -3395,7 +3402,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>minimal</code>  +<tt>minimal</tt>   </dt>   <dd>   <p>  @@ -3404,7 +3411,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>patience</code>  +<tt>patience</tt>   </dt>   <dd>   <p>  @@ -3412,7 +3419,7 @@  </p>   </dd>   <dt class="hdlist1">  -<code>histogram</code>  +<tt>histogram</tt>   </dt>   <dd>   <p>  @@ -3475,7 +3482,7 @@  If it is set to true, git-fetch-pack will check all fetched   objects. It will abort in the case of a malformed object or a   broken link. The result of an abort are only dangling objects.  - Defaults to false. If not set, the value of <code>transfer.fsckObjects</code>  + Defaults to false. If not set, the value of <tt>transfer.fsckObjects</tt>   is used instead.   </p>   </dd>  @@ -3492,7 +3499,7 @@  a pack, after adding any missing delta bases. Storing the   pack from a push can make the push operation complete faster,   especially on slow filesystems. If not set, the value of  - <code>transfer.unpackLimit</code> is used instead.  + <tt>transfer.unpackLimit</tt> is used instead.   </p>   </dd>   <dt class="hdlist1">  @@ -3500,8 +3507,8 @@  </dt>   <dd>   <p>  - If true, fetch will automatically behave as if the <code>--prune</code>  - option was given on the command line. See also <code>remote.&lt;name&gt;.prune</code>.  + If true, fetch will automatically behave as if the <tt>--prune</tt>  + option was given on the command line. See also <tt>remote.&lt;name&gt;.prune</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -3576,7 +3583,7 @@  <dd>   <p>   The default for format-patch is to output files with the suffix  - <code>.patch</code>. Use this variable to change that suffix (make sure to  + <tt>.patch</tt>. Use this variable to change that suffix (make sure to   include the dot if you want it).   </p>   </dd>  @@ -3596,12 +3603,12 @@  <dd>   <p>   The default threading style for <em>git format-patch</em>. Can be  - a boolean value, or <code>shallow</code> or <code>deep</code>. <code>shallow</code> threading  + a boolean value, or <tt>shallow</tt> or <tt>deep</tt>. <tt>shallow</tt> threading   makes every mail a reply to the head of the series,   where the head is chosen from the cover letter, the  - <code>--in-reply-to</code>, and the first patch mail, in this order.  - <code>deep</code> threading makes every mail a reply to the previous one.  - A true boolean value is the same as <code>shallow</code>, and a false  + <tt>--in-reply-to</tt>, and the first patch mail, in this order.  + <tt>deep</tt> threading makes every mail a reply to the previous one.  + A true boolean value is the same as <tt>shallow</tt>, and a false   value disables threading.   </p>   </dd>  @@ -3610,7 +3617,7 @@  </dt>   <dd>   <p>  - A boolean value which lets you enable the <code>-s/--signoff</code> option of  + A boolean value which lets you enable the <tt>-s/--signoff</tt> option of   format-patch by default. <strong>Note:</strong> Adding the Signed-off-by: line to a   patch should be a conscious act and means that you certify you have   the rights to submit this work under the same open source license.  @@ -3663,7 +3670,7 @@  <dd>   <p>   When there are approximately more than this many loose  - objects in the repository, <code>git gc --auto</code> will pack them.  + objects in the repository, <tt>git gc --auto</tt> will pack them.   Some Porcelain commands use this command to perform a   light-weight garbage collection from time to time. The   default value is 6700. Setting this to 0 disables it.  @@ -3675,8 +3682,8 @@  <dd>   <p>   When there are more than this many packs that are not  - marked with <code>*.keep</code> file in the repository, <code>git gc  - --auto</code> consolidates them into one larger pack. The  + marked with <tt>*.keep</tt> file in the repository, <tt>git gc  + --auto</tt> consolidates them into one larger pack. The   default value is 50. Setting this to 0 disables it.   </p>   </dd>  @@ -3685,12 +3692,12 @@  </dt>   <dd>   <p>  - Running <code>git pack-refs</code> in a repository renders it  + Running <tt>git pack-refs</tt> in a repository renders it   unclonable by Git versions prior to 1.5.1.2 over dumb   transports such as HTTP. This variable determines whether  - <em>git gc</em> runs <code>git pack-refs</code>. This can be set to <code>notbare</code>  + <em>git gc</em> runs <tt>git pack-refs</tt>. This can be set to <tt>notbare</tt>   to enable it within all non-bare repos or it can be set to a  - boolean value. The default is <code>true</code>.  + boolean value. The default is <tt>true</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -3820,7 +3827,7 @@  derived from the Git repository. The exact meaning depends on the   used database driver, for SQLite (which is the default driver) this   is a filename. Supports variable substitution (see  - <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<code>;</code>).  + <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<tt>;</tt>).   Default: <em>%Ggitcvs.%m.sqlite</em>   </p>   </dd>  @@ -3833,7 +3840,7 @@  for this here, but it might not work. git-cvsserver is tested   with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and   reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.  - May not contain double colons (<code>:</code>). Default: <em>SQLite</em>.  + May not contain double colons (<tt>:</tt>). Default: <em>SQLite</em>.   See <a href="git-cvsserver.html">git-cvsserver(1)</a>.   </p>   </dd>  @@ -4044,7 +4051,7 @@  </dt>   <dd>   <p>  - If true, <em>git gui blame</em> uses <code>-C</code> instead of <code>-C -C</code> for original  + If true, <em>git gui blame</em> uses <tt>-C</tt> instead of <tt>-C -C</tt> for original   location detection. It makes blame significantly faster on huge   repositories at the expense of less thorough copy detection.   </p>  @@ -4065,8 +4072,8 @@  <dd>   <p>   Specifies the radius of history context in days to show in  - <a href="gitk.html">gitk(1)</a> for the selected commit, when the <code>Show History  - Context</code> menu item is invoked from <em>git gui blame</em>. If this  + <a href="gitk.html">gitk(1)</a> for the selected commit, when the <tt>Show History  + Context</tt> menu item is invoked from <em>git gui blame</em>. If this   variable is set to zero, the whole history is shown.   </p>   </dd>  @@ -4076,7 +4083,7 @@  <dd>   <p>   Specifies the shell command line to execute when the corresponding item  - of the <a href="git-gui.html">git-gui(1)</a> <code>Tools</code> menu is invoked. This option is  + of the <a href="git-gui.html">git-gui(1)</a> <tt>Tools</tt> menu is invoked. This option is   mandatory for every tool. The command is executed from the root of   the working directory, and in the environment it receives the name of   the tool as <em>GIT_GUITOOL</em>, the name of the currently selected file as  @@ -4222,7 +4229,7 @@  <p>   Override the HTTP proxy, normally configured using the <em>http_proxy</em>,   <em>https_proxy</em>, and <em>all_proxy</em> environment variables (see  - <code>curl(1)</code>). This can be overridden on a per-remote basis; see  + <tt>curl(1)</tt>). This can be overridden on a per-remote basis; see   remote.&lt;name&gt;.proxy   </p>   </dd>  @@ -4405,19 +4412,19 @@  <div class="olist arabic"><ol class="arabic">   <li>   <p>  -Scheme (e.g., <code>https</code> in <code>https://example.com/</code>). This field  +Scheme (e.g., <tt>https</tt> in <tt>https://example.com/</tt>). This field   must match exactly between the config key and the URL.   </p>   </li>   <li>   <p>  -Host/domain name (e.g., <code>example.com</code> in <code>https://example.com/</code>).  +Host/domain name (e.g., <tt>example.com</tt> in <tt>https://example.com/</tt>).   This field must match exactly between the config key and the URL.   </p>   </li>   <li>   <p>  -Port number (e.g., <code>8080</code> in <code>http://example.com:8080/</code>).  +Port number (e.g., <tt>8080</tt> in <tt>http://example.com:8080/</tt>).   This field must match exactly between the config key and the URL.   Omitted port numbers are automatically converted to the correct   default for the scheme before matching.  @@ -4425,18 +4432,18 @@  </li>   <li>   <p>  -Path (e.g., <code>repo.git</code> in <code>https://example.com/repo.git</code>). The  +Path (e.g., <tt>repo.git</tt> in <tt>https://example.com/repo.git</tt>). The   path field of the config key must match the path field of the URL   either exactly or as a prefix of slash-delimited path elements. This means  - a config key with path <code>foo/</code> matches URL path <code>foo/bar</code>. A prefix can only  - match on a slash (<code>/</code>) boundary. Longer matches take precedence (so a config  - key with path <code>foo/bar</code> is a better match to URL path <code>foo/bar</code> than a config  - key with just path <code>foo/</code>).  + a config key with path <tt>foo/</tt> matches URL path <tt>foo/bar</tt>. A prefix can only  + match on a slash (<tt>/</tt>) boundary. Longer matches take precedence (so a config  + key with path <tt>foo/bar</tt> is a better match to URL path <tt>foo/bar</tt> than a config  + key with just path <tt>foo/</tt>).   </p>   </li>   <li>   <p>  -User name (e.g., <code>user</code> in <code>https://user@example.com/repo.git</code>). If  +User name (e.g., <tt>user</tt> in <tt>https://user@example.com/repo.git</tt>). If   the config key has a user name it must match the user name in the   URL exactly. If the config key does not have a user name, that   config key will match a URL with any user name (including none),  @@ -4447,9 +4454,9 @@  </div></div>   <div class="paragraph"><p>The list above is ordered by decreasing precedence; a URL that matches   a config key&#8217;s path is preferred to one that matches its user name. For example,  -if the URL is <code>https://user@example.com/foo/bar</code> a config key match of  -<code>https://example.com/foo</code> will be preferred over a config key match of  -<code>https://user@example.com</code>.</p></div>  +if the URL is <tt>https://user@example.com/foo/bar</tt> a config key match of  +<tt>https://example.com/foo</tt> will be preferred over a config key match of  +<tt>https://user@example.com</tt>.</p></div>   <div class="paragraph"><p>All URLs are normalized before attempting any matching (the password part,   if embedded in the URL, is always ignored for matching purposes) so that   equivalent urls that are simply spelled differently will match properly.  @@ -4549,7 +4556,7 @@  <p>   In interactive commands, allow the user to provide one-letter   input with a single key (i.e., without hitting enter).  - Currently this is used by the <code>--patch</code> mode of  + Currently this is used by the <tt>--patch</tt> mode of   <a href="git-add.html">git-add(1)</a>, <a href="git-checkout.html">git-checkout(1)</a>, <a href="git-commit.html">git-commit(1)</a>,   <a href="git-reset.html">git-reset(1)</a>, and <a href="git-stash.html">git-stash(1)</a>. Note that this   setting is silently ignored if portable keystroke input  @@ -4562,8 +4569,8 @@  <dd>   <p>   If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and  - <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--abbrev-commit</code>. You may  - override this option with <code>--no-abbrev-commit</code>.  + <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <tt>--abbrev-commit</tt>. You may  + override this option with <tt>--no-abbrev-commit</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -4573,8 +4580,8 @@  <p>   Set the default date-time mode for the <em>log</em> command.   Setting a value for log.date is similar to using <em>git log</em>'s  - <code>--date</code> option. Possible values are <code>relative</code>, <code>local</code>,  - <code>default</code>, <code>iso</code>, <code>rfc</code>, and <code>short</code>; see <a href="git-log.html">git-log(1)</a>  + <tt>--date</tt> option. Possible values are <tt>relative</tt>, <tt>local</tt>,  + <tt>default</tt>, <tt>iso</tt>, <tt>rfc</tt>, and <tt>short</tt>; see <a href="git-log.html">git-log(1)</a>   for details.   </p>   </dd>  @@ -4607,7 +4614,7 @@  <dd>   <p>   If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and  - <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--use-mailmap</code>.  + <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <tt>--use-mailmap</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -4628,11 +4635,11 @@  </dt>   <dd>   <p>  - Like <code>mailmap.file</code>, but consider the value as a reference to a  - blob in the repository. If both <code>mailmap.file</code> and  - <code>mailmap.blob</code> are given, both are parsed, with entries from  - <code>mailmap.file</code> taking precedence. In a bare repository, this  - defaults to <code>HEAD:.mailmap</code>. In a non-bare repository, it  + Like <tt>mailmap.file</tt>, but consider the value as a reference to a  + blob in the repository. If both <tt>mailmap.file</tt> and  + <tt>mailmap.blob</tt> are given, both are parsed, with entries from  + <tt>mailmap.file</tt> taking precedence. In a bare repository, this  + defaults to <tt>HEAD:.mailmap</tt>. In a non-bare repository, it   defaults to empty.   </p>   </dd>  @@ -4671,10 +4678,10 @@  <p>   Specify the style in which conflicted hunks are written out to   working tree files upon merge. The default is "merge", which  - shows a <code>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</code> conflict marker, changes made by one side,  - a <code>=======</code> marker, changes made by the other side, and then  - a <code>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</code> marker. An alternate style, "diff3", adds a <code>|||||||</code>  - marker and the original text before the <code>=======</code> marker.  + shows a <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> conflict marker, changes made by one side,  + a <tt>=======</tt> marker, changes made by the other side, and then  + a <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> marker. An alternate style, "diff3", adds a <tt>|||||||</tt>  + marker and the original text before the <tt>=======</tt> marker.   </p>   </dd>   <dt class="hdlist1">  @@ -4685,9 +4692,9 @@  If merge is called without any commit argument, merge the upstream   branches configured for the current branch by using their last   observed values stored in their remote-tracking branches.  - The values of the <code>branch.&lt;current branch&gt;.merge</code> that name the  - branches at the remote named by <code>branch.&lt;current branch&gt;.remote</code>  - are consulted, and then they are mapped via <code>remote.&lt;remote&gt;.fetch</code>  + The values of the <tt>branch.&lt;current branch&gt;.merge</tt> that name the  + branches at the remote named by <tt>branch.&lt;current branch&gt;.remote</tt>  + are consulted, and then they are mapped via <tt>remote.&lt;remote&gt;.fetch</tt>   to their corresponding remote-tracking branches, and the tips of   these tracking branches are merged.   </p>  @@ -4699,11 +4706,11 @@  <p>   By default, Git does not create an extra merge commit when merging   a commit that is a descendant of the current commit. Instead, the  - tip of the current branch is fast-forwarded. When set to <code>false</code>,  + tip of the current branch is fast-forwarded. When set to <tt>false</tt>,   this variable tells Git to create an extra merge commit in such  - a case (equivalent to giving the <code>--no-ff</code> option from the command  - line). When set to <code>only</code>, only such fast-forward merges are  - allowed (equivalent to giving the <code>--ff-only</code> option from the  + a case (equivalent to giving the <tt>--no-ff</tt> option from the command  + line). When set to <tt>only</tt>, only such fast-forward merges are  + allowed (equivalent to giving the <tt>--ff-only</tt> option from the   command line).   </p>   </dd>  @@ -4945,9 +4952,9 @@  <dd>   <p>   After performing a merge, the original file with conflict markers  - can be saved as a file with a <code>.orig</code> extension. If this variable  - is set to <code>false</code> then this file is not preserved. Defaults to  - <code>true</code> (i.e. keep the backup files).  + can be saved as a file with a <tt>.orig</tt> extension. If this variable  + is set to <tt>false</tt> then this file is not preserved. Defaults to  + <tt>true</tt> (i.e. keep the backup files).   </p>   </dd>   <dt class="hdlist1">  @@ -4957,9 +4964,9 @@  <p>   When invoking a custom merge tool, Git uses a set of temporary   files to pass to the tool. If the tool returns an error and this  - variable is set to <code>true</code>, then these temporary files will be  + variable is set to <tt>true</tt>, then these temporary files will be   preserved, otherwise they will be removed after the tool has  - exited. Defaults to <code>false</code>.  + exited. Defaults to <tt>false</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -4983,7 +4990,7 @@  exist, but a glob that does not match any refs is silently   ignored.   </p>  -<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_DISPLAY_REF</code>  +<div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt>   environment variable, which must be a colon separated list of refs or   globs.</p></div>   <div class="paragraph"><p>The effective value of "core.notesRef" (possibly overridden by  @@ -4995,10 +5002,10 @@  </dt>   <dd>   <p>  - When rewriting commits with &lt;command&gt; (currently <code>amend</code> or  - <code>rebase</code>) and this variable is set to <code>true</code>, Git  + When rewriting commits with &lt;command&gt; (currently <tt>amend</tt> or  + <tt>rebase</tt>) and this variable is set to <tt>true</tt>, Git   automatically copies your notes from the original to the  - rewritten commit. Defaults to <code>true</code>, but see  + rewritten commit. Defaults to <tt>true</tt>, but see   "notes.rewriteRef" below.   </p>   </dd>  @@ -5010,10 +5017,10 @@  When copying notes during a rewrite (see the   "notes.rewrite.&lt;command&gt;" option), determines what to do if   the target commit already has a note. Must be one of  - <code>overwrite</code>, <code>concatenate</code>, or <code>ignore</code>. Defaults to  - <code>concatenate</code>.  + <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to  + <tt>concatenate</tt>.   </p>  -<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_MODE</code>  +<div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt>   environment variable.</p></div>   </dd>   <dt class="hdlist1">  @@ -5027,9 +5034,9 @@  You may also specify this configuration several times.   </p>   <div class="paragraph"><p>Does not have a default value; you must configure this variable to  -enable note rewriting. Set it to <code>refs/notes/commits</code> to enable  +enable note rewriting. Set it to <tt>refs/notes/commits</tt> to enable   rewriting for the default commit notes.</p></div>  -<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_REF</code>  +<div class="paragraph"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt>   environment variable, which must be a colon separated list of refs or   globs.</p></div>   </dd>  @@ -5134,13 +5141,13 @@  and this config option ignored whenever the corresponding pack is   larger than 2 GB.   </p>  -<div class="paragraph"><p>If you have an old Git that does not understand the version 2 <code>*.idx</code> file,  +<div class="paragraph"><p>If you have an old Git that does not understand the version 2 <tt>*.idx</tt> file,   cloning or fetching over a non native protocol (e.g. "http" and "rsync")  -that will copy both <code>*.pack</code> file and corresponding <code>*.idx</code> file from the  +that will copy both <tt>*.pack</tt> file and corresponding <tt>*.idx</tt> file from the   other side may give you a repository that cannot be accessed with your  -older version of Git. If the <code>*.pack</code> file is smaller than 2 GB, however,  +older version of Git. If the <tt>*.pack</tt> file is smaller than 2 GB, however,   you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate  -the <code>*.idx</code> file.</p></div>  +the <tt>*.idx</tt> file.</p></div>   </dd>   <dt class="hdlist1">   pack.packSizeLimit  @@ -5149,7 +5156,7 @@  <p>   The maximum size of a pack. This setting only affects   packing to a file when repacking, i.e. the git:// protocol  - is unaffected. It can be overridden by the <code>--max-pack-size</code>  + is unaffected. It can be overridden by the <tt>--max-pack-size</tt>   option of <a href="git-repack.html">git-repack(1)</a>. The minimum size allowed is   limited to 1 MiB. The default is unlimited.   Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are  @@ -5164,10 +5171,10 @@  If the value is boolean, turns on or off pagination of the   output of a particular Git subcommand when writing to a tty.   Otherwise, turns on pagination for the subcommand using the  - pager specified by the value of <code>pager.&lt;cmd&gt;</code>. If <code>--paginate</code>  - or <code>--no-pager</code> is specified on the command line, it takes  + pager specified by the value of <tt>pager.&lt;cmd&gt;</tt>. If <tt>--paginate</tt>  + or <tt>--no-pager</tt> is specified on the command line, it takes   precedence over this option. To disable pagination for all  - commands, set <code>core.pager</code> or <code>GIT_PAGER</code> to <code>cat</code>.  + commands, set <tt>core.pager</tt> or <tt>GIT_PAGER</tt> to <tt>cat</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -5178,9 +5185,9 @@  Alias for a --pretty= format string, as specified in   <a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just   as the built-in pretty formats could. For example,  - running <code>git config pretty.changelog "format:* %H %s"</code>  - would cause the invocation <code>git log --pretty=changelog</code>  - to be equivalent to running <code>git log "--pretty=format:* %H %s"</code>.  + running <tt>git config pretty.changelog "format:* %H %s"</tt>  + would cause the invocation <tt>git log --pretty=changelog</tt>  + to be equivalent to running <tt>git log "--pretty=format:* %H %s"</tt>.   Note that an alias with the same name as a built-in format   will be silently ignored.   </p>  @@ -5197,9 +5204,9 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>When preserve, also pass `--preserve-merges` along to 'git rebase'  +<pre><tt>When preserve, also pass `--preserve-merges` along to 'git rebase'   so that locally committed merge commits will not be flattened  -by running 'git pull'.</code></pre>  +by running 'git pull'.</tt></pre>   </div></div>   <div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use   it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>  @@ -5227,52 +5234,52 @@  </dt>   <dd>   <p>  - Defines the action <code>git push</code> should take if no refspec is  + Defines the action <tt>git push</tt> should take if no refspec is   explicitly given. Different values are well-suited for   specific workflows; for instance, in a purely central workflow   (i.e. the fetch source is equal to the push destination),  - <code>upstream</code> is probably what you want. Possible values are:  + <tt>upstream</tt> is probably what you want. Possible values are:   </p>   <div class="openblock">   <div class="content">   <div class="ulist"><ul>   <li>   <p>  -<code>nothing</code> - do not push anything (error out) unless a refspec is  +<tt>nothing</tt> - do not push anything (error out) unless a refspec is   explicitly given. This is primarily meant for people who want to   avoid mistakes by always being explicit.   </p>   </li>   <li>   <p>  -<code>current</code> - push the current branch to update a branch with the same  +<tt>current</tt> - push the current branch to update a branch with the same   name on the receiving end. Works in both central and non-central   workflows.   </p>   </li>   <li>   <p>  -<code>upstream</code> - push the current branch back to the branch whose  +<tt>upstream</tt> - push the current branch back to the branch whose   changes are usually integrated into the current branch (which is  - called <code>@{upstream}</code>). This mode only makes sense if you are  + called <tt>@{upstream}</tt>). This mode only makes sense if you are   pushing to the same repository you would normally pull from   (i.e. central workflow).   </p>   </li>   <li>   <p>  -<code>simple</code> - in centralized workflow, work like <code>upstream</code> with an  +<tt>simple</tt> - in centralized workflow, work like <tt>upstream</tt> with an   added safety to refuse to push if the upstream branch&#8217;s name is   different from the local one.   </p>   <div class="paragraph"><p>When pushing to a remote that is different from the remote you normally  -pull from, work as <code>current</code>. This is the safest option and is suited  +pull from, work as <tt>current</tt>. This is the safest option and is suited   for beginners.</p></div>   <div class="paragraph"><p>This mode will become the default in Git 2.0.</p></div>   </li>   <li>   <p>  -<code>matching</code> - push all branches having the same name on both ends.  +<tt>matching</tt> - push all branches having the same name on both ends.   This makes the repository you are pushing to remember the set of   branches that will be pushed out (e.g. if you always push <em>maint</em>   and <em>master</em> there and no other branches, the repository you push  @@ -5289,7 +5296,7 @@  people may add new branches there, or update the tip of existing   branches outside your control.</p></div>   <div class="paragraph"><p>This is currently the default, but Git 2.0 will change the default  -to <code>simple</code>.</p></div>  +to <tt>simple</tt>.</p></div>   </li>   </ul></div>   </div></div>  @@ -5342,7 +5349,7 @@  If it is set to true, git-receive-pack will check all received   objects. It will abort in the case of a malformed object or a   broken link. The result of an abort are only dangling objects.  - Defaults to false. If not set, the value of <code>transfer.fsckObjects</code>  + Defaults to false. If not set, the value of <tt>transfer.fsckObjects</tt>   is used instead.   </p>   </dd>  @@ -5358,7 +5365,7 @@  a pack, after adding any missing delta bases. Storing the   pack from a push can make the push operation complete faster,   especially on slow filesystems. If not set, the value of  - <code>transfer.unpackLimit</code> is used instead.  + <tt>transfer.unpackLimit</tt> is used instead.   </p>   </dd>   <dt class="hdlist1">  @@ -5409,13 +5416,13 @@  </dt>   <dd>   <p>  - String(s) <code>receive-pack</code> uses to decide which refs to omit  + String(s) <tt>receive-pack</tt> uses to decide which refs to omit   from its initial advertisement. Use more than one   definitions to specify multiple prefix strings. A ref that   are under the hierarchies listed on the value of this  - variable is excluded, and is hidden when responding to <code>git  - push</code>, and an attempt to update or delete a hidden ref by  - <code>git push</code> is rejected.  + variable is excluded, and is hidden when responding to <tt>git  + push</tt>, and an attempt to update or delete a hidden ref by  + <tt>git push</tt> is rejected.   </p>   </dd>   <dt class="hdlist1">  @@ -5433,8 +5440,8 @@  <dd>   <p>   The remote to push to by default. Overrides  - <code>branch.&lt;name&gt;.remote</code> for all branches, and is overridden by  - <code>branch.&lt;name&gt;.pushremote</code> for specific branches.  + <tt>branch.&lt;name&gt;.remote</tt> for all branches, and is overridden by  + <tt>branch.&lt;name&gt;.pushremote</tt> for specific branches.   </p>   </dd>   <dt class="hdlist1">  @@ -5488,7 +5495,7 @@  <dd>   <p>   If true, pushing to this remote will automatically behave  - as if the <code>--mirror</code> option was given on the command line.  + as if the <tt>--mirror</tt> option was given on the command line.   </p>   </dd>   <dt class="hdlist1">  @@ -5497,7 +5504,7 @@  <dd>   <p>   If true, this remote will be skipped by default when updating  - using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of  + using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of   <a href="git-remote.html">git-remote(1)</a>.   </p>   </dd>  @@ -5507,7 +5514,7 @@  <dd>   <p>   If true, this remote will be skipped by default when updating  - using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of  + using <a href="git-fetch.html">git-fetch(1)</a> or the <tt>update</tt> subcommand of   <a href="git-remote.html">git-remote(1)</a>.   </p>   </dd>  @@ -5558,8 +5565,8 @@  <p>   When set to true, fetching from this remote by default will also   remove any remote-tracking references that no longer exist on the  - remote (as if the <code>--prune</code> option was given on the command line).  - Overrides <code>fetch.prune</code> settings, if any.  + remote (as if the <tt>--prune</tt> option was given on the command line).  + Overrides <tt>fetch.prune</tt> settings, if any.   </p>   </dd>   <dt class="hdlist1">  @@ -5589,7 +5596,7 @@  </dt>   <dd>   <p>  - When set to true, <code>git-rerere</code> updates the index with the  + When set to true, <tt>git-rerere</tt> updates the index with the   resulting contents after it cleanly resolves conflicts using   previously recorded resolution. Defaults to false.   </p>  @@ -5602,8 +5609,8 @@  Activate recording of resolved conflicts, so that identical   conflict hunks can be resolved automatically, should they be   encountered again. By default, <a href="git-rerere.html">git-rerere(1)</a> is  - enabled if there is an <code>rr-cache</code> directory under the  - <code>$GIT_DIR</code>, e.g. if "rerere" was previously used in the  + enabled if there is an <tt>rr-cache</tt> directory under the  + <tt>$GIT_DIR</tt>, e.g. if "rerere" was previously used in the   repository.   </p>   </dd>  @@ -5752,7 +5759,7 @@  <dd>   <p>   By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the  - current directory. Setting this variable to <code>false</code> shows paths  + current directory. Setting this variable to <tt>false</tt> shows paths   relative to the repository root (this was the default for Git   prior to v1.5.4).   </p>  @@ -5782,7 +5789,7 @@  <p>   If set to true, <a href="git-status.html">git-status(1)</a> will insert a comment   prefix before each output line (starting with  - <code>core.commentChar</code>, i.e. <code>#</code> by default). This was the  + <tt>core.commentChar</tt>, i.e. <tt>#</tt> by default). This was the   behavior of <a href="git-status.html">git-status(1)</a> in Git 1.8.4 and previous.   Defaults to false.   </p>  @@ -5805,17 +5812,17 @@  <div class="ulist"><ul>   <li>   <p>  -<code>no</code> - Show no untracked files.  +<tt>no</tt> - Show no untracked files.   </p>   </li>   <li>   <p>  -<code>normal</code> - Show untracked files and directories.  +<tt>normal</tt> - Show untracked files and directories.   </p>   </li>   <li>   <p>  -<code>all</code> - Show also individual files in untracked directories.  +<tt>all</tt> - Show also individual files in untracked directories.   </p>   </li>   </ul></div>  @@ -5835,8 +5842,8 @@  summary of commits for modified submodules will be shown (see   --summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>). Please note   that the summary output command will be suppressed for all  - submodules when <code>diff.ignoreSubmodules</code> is set to <em>all</em> or only  - for those submodules where <code>submodule.&lt;name&gt;.ignore=all</code>. To  + submodules when <tt>diff.ignoreSubmodules</tt> is set to <em>all</em> or only  + for those submodules where <tt>submodule.&lt;name&gt;.ignore=all</tt>. To   also view the summary for ignored submodules you can either use   the --ignore-submodules=dirty command line option or the <em>git   submodule summary</em> command, which shows a similar output but does  @@ -5857,7 +5864,7 @@  The path within this project, URL, and the updating strategy   for a submodule. These variables are initially populated   by <em>git submodule init</em>; edit them to override the  - URL and other values found in the <code>.gitmodules</code> file. See  + URL and other values found in the <tt>.gitmodules</tt> file. See   <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details.   </p>   </dd>  @@ -5866,9 +5873,9 @@  </dt>   <dd>   <p>  - The remote branch name for a submodule, used by <code>git submodule  - update --remote</code>. Set this option to override the value found in  - the <code>.gitmodules</code> file. See <a href="git-submodule.html">git-submodule(1)</a> and  + The remote branch name for a submodule, used by <tt>git submodule  + update --remote</tt>. Set this option to override the value found in  + the <tt>.gitmodules</tt> file. See <a href="git-submodule.html">git-submodule(1)</a> and   <a href="gitmodules.html">gitmodules(5)</a> for details.   </p>   </dd>  @@ -5920,7 +5927,7 @@  </dt>   <dd>   <p>  - When <code>fetch.fsckObjects</code> or <code>receive.fsckObjects</code> are  + When <tt>fetch.fsckObjects</tt> or <tt>receive.fsckObjects</tt> are   not set, the value of this variable is used instead.   Defaults to false.   </p>  @@ -5930,8 +5937,8 @@  </dt>   <dd>   <p>  - This variable can be used to set both <code>receive.hiderefs</code>  - and <code>uploadpack.hiderefs</code> at the same time to the same  + This variable can be used to set both <tt>receive.hiderefs</tt>  + and <tt>uploadpack.hiderefs</tt> at the same time to the same   values. See entries for these other variables.   </p>   </dd>  @@ -5940,7 +5947,7 @@  </dt>   <dd>   <p>  - When <code>fetch.unpackLimit</code> or <code>receive.unpackLimit</code> are  + When <tt>fetch.unpackLimit</tt> or <tt>receive.unpackLimit</tt> are   not set, the value of this variable is used instead.   The default value is 100.   </p>  @@ -5950,13 +5957,13 @@  </dt>   <dd>   <p>  - String(s) <code>upload-pack</code> uses to decide which refs to omit  + String(s) <tt>upload-pack</tt> uses to decide which refs to omit   from its initial advertisement. Use more than one   definitions to specify multiple prefix strings. A ref that   are under the hierarchies listed on the value of this  - variable is excluded, and is hidden from <code>git ls-remote</code>,  - <code>git fetch</code>, etc. An attempt to fetch a hidden ref by <code>git  - fetch</code> will fail. See also <code>uploadpack.allowtipsha1inwant</code>.  + variable is excluded, and is hidden from <tt>git ls-remote</tt>,  + <tt>git fetch</tt>, etc. An attempt to fetch a hidden ref by <tt>git  + fetch</tt> will fail. See also <tt>uploadpack.allowtipsha1inwant</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -5964,10 +5971,10 @@  </dt>   <dd>   <p>  - When <code>uploadpack.hiderefs</code> is in effect, allow <code>upload-pack</code>  + When <tt>uploadpack.hiderefs</tt> is in effect, allow <tt>upload-pack</tt>   to accept a fetch request that asks for an object at the tip   of a hidden ref (by default, such a request is rejected).  - see also <code>uploadpack.hiderefs</code>.  + see also <tt>uploadpack.hiderefs</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -5975,14 +5982,14 @@  </dt>   <dd>   <p>  - When <code>upload-pack</code> has started <code>pack-objects</code>, there may be a  - quiet period while <code>pack-objects</code> prepares the pack. Normally  - it would output progress information, but if <code>--quiet</code> was used  - for the fetch, <code>pack-objects</code> will output nothing at all until  + When <tt>upload-pack</tt> has started <tt>pack-objects</tt>, there may be a  + quiet period while <tt>pack-objects</tt> prepares the pack. Normally  + it would output progress information, but if <tt>--quiet</tt> was used  + for the fetch, <tt>pack-objects</tt> will output nothing at all until   the pack data begins. Some clients and networks may consider   the server to be hung and give up. Setting this option instructs  - <code>upload-pack</code> to send an empty keepalive packet every  - <code>uploadpack.keepalive</code> seconds. Setting this option to 0  + <tt>upload-pack</tt> to send an empty keepalive packet every  + <tt>uploadpack.keepalive</tt> seconds. Setting this option to 0   disables keepalive packets entirely. The default is 5 seconds.   </p>   </dd>  
diff --git a/git-mv.html b/git-mv.html index 247c8c5..b435487 100644 --- a/git-mv.html +++ b/git-mv.html 
@@ -3,7 +3,7 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 8.6.8" />  +<meta name="generator" content="AsciiDoc 8.6.6" />   <title>git-mv(1)</title>   <style type="text/css">   /* Shared CSS for AsciiDoc xhtml11 and html5 backends */  @@ -87,15 +87,11 @@  ul > li { color: #aaa; }   ul > li > * { color: black; }    -.monospaced, code, pre {  - font-family: "Courier New", Courier, monospace;  - font-size: inherit;  - color: navy;  +pre {   padding: 0;   margin: 0;   }    -   #author {   color: #527bbd;   font-weight: bold;  @@ -353,7 +349,7 @@  margin-bottom: 0.1em;   }    -div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {  +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {   margin-top: 0;   margin-bottom: 0;   }  @@ -411,14 +407,18 @@  span.overline { text-decoration: overline; }   span.line-through { text-decoration: line-through; }    -div.unbreakable { page-break-inside: avoid; }  -     /*   * xhtml11 specific   *   * */    +tt {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   div.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -452,6 +452,12 @@  *   * */    +.monospaced {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   table.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -531,8 +537,6 @@  @media print {   body.manpage div#toc { display: none; }   }  -  -   </style>   <script type="text/javascript">   /*<![CDATA[*/  @@ -577,7 +581,7 @@    function tocEntries(el, toclevels) {   var result = new Array;  - var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');  + var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');   // Function that scans the DOM tree for header elements (the DOM2   // nodeIterator API would be a better technique but not supported by all   // browsers).  @@ -606,7 +610,7 @@  var i;   for (i = 0; i < toc.childNodes.length; i++) {   var entry = toc.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div'  + if (entry.nodeName == 'div'   && entry.getAttribute("class")   && entry.getAttribute("class").match(/^toclevel/))   tocEntriesToRemove.push(entry);  @@ -652,7 +656,7 @@  var entriesToRemove = [];   for (i = 0; i < noteholder.childNodes.length; i++) {   var entry = noteholder.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")  + if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")   entriesToRemove.push(entry);   }   for (i = 0; i < entriesToRemove.length; i++) {  @@ -757,8 +761,8 @@  <div class="paragraph"><p>Move or rename a file, directory or symlink.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>git mv [-v] [-f] [-n] [-k] &lt;source&gt; &lt;destination&gt;  -git mv [-v] [-f] [-n] [-k] &lt;source&gt; ... &lt;destination directory&gt;</code></pre>  +<pre><tt>git mv [-v] [-f] [-n] [-k] &lt;source&gt; &lt;destination&gt;  +git mv [-v] [-f] [-n] [-k] &lt;source&gt; ... &lt;destination directory&gt;</tt></pre>   </div></div>   <div class="paragraph"><p>In the first form, it renames &lt;source&gt;, which must exist and be either   a file, symlink or directory, to &lt;destination&gt;.  @@ -830,6 +834,20 @@  </div>   </div>   <div class="sect1">  +<h2 id="_bugs">BUGS</h2>  +<div class="sectionbody">  +<div class="paragraph"><p>Each time a superproject update moves a populated submodule (e.g. when  +switching between commits before and after the move) a stale submodule  +checkout will remain in the old location and an empty directory will  +appear in the new location. To populate the submodule again in the new  +location the user will have to run "git submodule update"  +afterwards. Removing the old directory is only safe when it uses a  +gitfile, as otherwise the history of the submodule will be deleted  +too. Both steps will be obsolete when recursive submodule update has  +been implemented.</p></div>  +</div>  +</div>  +<div class="sect1">   <h2 id="_git">GIT</h2>   <div class="sectionbody">   <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>  @@ -839,7 +857,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2013-09-09 15:34:20 PDT  +Last updated 2014-01-13 15:35:15 PST   </div>   </div>   </body>  
diff --git a/git-mv.txt b/git-mv.txt index b1f7988..e453132 100644 --- a/git-mv.txt +++ b/git-mv.txt 
@@ -52,6 +52,18 @@  It also will attempt to update the submodule.<name>.path setting in  the linkgit:gitmodules[5] file and stage that file (unless -n is used).   +BUGS +---- +Each time a superproject update moves a populated submodule (e.g. when +switching between commits before and after the move) a stale submodule +checkout will remain in the old location and an empty directory will +appear in the new location. To populate the submodule again in the new +location the user will have to run "git submodule update" +afterwards. Removing the old directory is only safe when it uses a +gitfile, as otherwise the history of the submodule will be deleted +too. Both steps will be obsolete when recursive submodule update has +been implemented. +  GIT  ---  Part of the linkgit:git[1] suite 
diff --git a/git-rm.html b/git-rm.html index 9c90865..dbcebef 100644 --- a/git-rm.html +++ b/git-rm.html 
@@ -3,7 +3,7 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 8.6.8" />  +<meta name="generator" content="AsciiDoc 8.6.6" />   <title>git-rm(1)</title>   <style type="text/css">   /* Shared CSS for AsciiDoc xhtml11 and html5 backends */  @@ -87,15 +87,11 @@  ul > li { color: #aaa; }   ul > li > * { color: black; }    -.monospaced, code, pre {  - font-family: "Courier New", Courier, monospace;  - font-size: inherit;  - color: navy;  +pre {   padding: 0;   margin: 0;   }    -   #author {   color: #527bbd;   font-weight: bold;  @@ -353,7 +349,7 @@  margin-bottom: 0.1em;   }    -div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {  +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {   margin-top: 0;   margin-bottom: 0;   }  @@ -411,14 +407,18 @@  span.overline { text-decoration: overline; }   span.line-through { text-decoration: line-through; }    -div.unbreakable { page-break-inside: avoid; }  -     /*   * xhtml11 specific   *   * */    +tt {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   div.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -452,6 +452,12 @@  *   * */    +.monospaced {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   table.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -531,8 +537,6 @@  @media print {   body.manpage div#toc { display: none; }   }  -  -   </style>   <script type="text/javascript">   /*<![CDATA[*/  @@ -577,7 +581,7 @@    function tocEntries(el, toclevels) {   var result = new Array;  - var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');  + var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');   // Function that scans the DOM tree for header elements (the DOM2   // nodeIterator API would be a better technique but not supported by all   // browsers).  @@ -606,7 +610,7 @@  var i;   for (i = 0; i < toc.childNodes.length; i++) {   var entry = toc.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div'  + if (entry.nodeName == 'div'   && entry.getAttribute("class")   && entry.getAttribute("class").match(/^toclevel/))   tocEntriesToRemove.push(entry);  @@ -652,7 +656,7 @@  var entriesToRemove = [];   for (i = 0; i < noteholder.childNodes.length; i++) {   var entry = noteholder.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")  + if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")   entriesToRemove.push(entry);   }   for (i = 0; i < entriesToRemove.length; i++) {  @@ -755,13 +759,13 @@  <h2 id="_description">DESCRIPTION</h2>   <div class="sectionbody">   <div class="paragraph"><p>Remove files from the index, or from the working tree and the index.  -<code>git rm</code> will not remove a file from just your working directory.  +<tt>git rm</tt> will not remove a file from just your working directory.   (There is no option to remove a file only from the working tree  -and yet keep it in the index; use <code>/bin/rm</code> if you want to do that.)  +and yet keep it in the index; use <tt>/bin/rm</tt> if you want to do that.)   The files being removed have to be identical to the tip of the branch,   and no updates to their contents can be staged in the index,  -though that default behavior can be overridden with the <code>-f</code> option.  -When <code>--cached</code> is given, the staged content has to  +though that default behavior can be overridden with the <tt>-f</tt> option.  +When <tt>--cached</tt> is given, the staged content has to   match either the tip of the branch or the file on disk,   allowing the file to be removed from just the index.</p></div>   </div>  @@ -775,14 +779,14 @@  </dt>   <dd>   <p>  - Files to remove. Fileglobs (e.g. <code>*.c</code>) can be given to  + Files to remove. Fileglobs (e.g. <tt>*.c</tt>) can be given to   remove all matching files. If you want Git to expand   file glob characters, you may need to shell-escape them.   A leading directory name  - (e.g. <code>dir</code> to remove <code>dir/file1</code> and <code>dir/file2</code>) can be  + (e.g. <tt>dir</tt> to remove <tt>dir/file1</tt> and <tt>dir/file2</tt>) can be   given to remove all files in the directory, and recursively   all sub-directories,  - but this requires the <code>-r</code> option to be explicitly given.  + but this requires the <tt>-r</tt> option to be explicitly given.   </p>   </dd>   <dt class="hdlist1">  @@ -854,7 +858,7 @@  </dt>   <dd>   <p>  - <code>git rm</code> normally outputs one line (in the form of an <code>rm</code> command)  + <tt>git rm</tt> normally outputs one line (in the form of an <tt>rm</tt> command)   for each file removed. This option suppresses that output.   </p>   </dd>  @@ -869,15 +873,15 @@  removes only the paths that are known to Git. Giving the name of   a file that you have not told Git about does not remove that file.</p></div>   <div class="paragraph"><p>File globbing matches across directory boundaries. Thus, given  -two directories <code>d</code> and <code>d2</code>, there is a difference between  -using <code>git rm 'd*'</code> and <code>git rm 'd/*'</code>, as the former will  -also remove all of directory <code>d2</code>.</p></div>  +two directories <tt>d</tt> and <tt>d2</tt>, there is a difference between  +using <tt>git rm 'd*'</tt> and <tt>git rm 'd/*'</tt>, as the former will  +also remove all of directory <tt>d2</tt>.</p></div>   </div>   </div>   <div class="sect1">   <h2 id="_removing_files_that_have_disappeared_from_the_filesystem">REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM</h2>   <div class="sectionbody">  -<div class="paragraph"><p>There is no option for <code>git rm</code> to remove from the index only  +<div class="paragraph"><p>There is no option for <tt>git rm</tt> to remove from the index only   the paths that have disappeared from the filesystem. However,   depending on the use case, there are several ways that can be   done.</p></div>  @@ -885,10 +889,10 @@  <h3 id="_using_8220_git_commit_a_8221">Using &#8220;git commit -a&#8221;</h3>   <div class="paragraph"><p>If you intend that your next commit should record all modifications   of tracked files in the working tree and record all removals of  -files that have been removed from the working tree with <code>rm</code>  -(as opposed to <code>git rm</code>), use <code>git commit -a</code>, as it will  +files that have been removed from the working tree with <tt>rm</tt>  +(as opposed to <tt>git rm</tt>), use <tt>git commit -a</tt>, as it will   automatically notice and record all removals. You can also have a  -similar effect without committing by using <code>git add -u</code>.</p></div>  +similar effect without committing by using <tt>git add -u</tt>.</p></div>   </div>   <div class="sect2">   <h3 id="_using_8220_git_add_a_8221">Using &#8220;git add -A&#8221;</h3>  @@ -899,7 +903,7 @@  tree using this command:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>git ls-files -z | xargs -0 rm -f</code></pre>  +<pre><tt>git ls-files -z | xargs -0 rm -f</tt></pre>   </div></div>   <div class="paragraph"><p>and then untar the new code in the working tree. Alternately   you could <em>rsync</em> the changes into the working tree.</p></div>  @@ -907,7 +911,7 @@  modifications in the working tree is:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>git add -A</code></pre>  +<pre><tt>git add -A</tt></pre>   </div></div>   <div class="paragraph"><p>See <a href="git-add.html">git-add(1)</a>.</p></div>   </div>  @@ -915,11 +919,11 @@  <h3 id="_other_ways">Other ways</h3>   <div class="paragraph"><p>If all you really want to do is to remove from the index the files   that are no longer present in the working tree (perhaps because  -your working tree is dirty so that you cannot use <code>git commit -a</code>),  +your working tree is dirty so that you cannot use <tt>git commit -a</tt>),   use the following command:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached</code></pre>  +<pre><tt>git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached</tt></pre>   </div></div>   </div>   </div>  @@ -931,7 +935,7 @@  with a Git version 1.7.8 or newer) will be removed from the work   tree, as their repository lives inside the .git directory of the   superproject. If a submodule (or one of those nested inside it)  -still uses a .git directory, <code>git rm</code> will fail - no matter if forced  +still uses a .git directory, <tt>git rm</tt> will fail - no matter if forced   or not - to protect the submodule&#8217;s history. If it exists the   submodule.&lt;name&gt; section in the <a href="gitmodules.html">gitmodules(5)</a> file will also   be removed and that file will be staged (unless --cached or -n are used).</p></div>  @@ -942,7 +946,7 @@  tree from being removed.</p></div>   <div class="paragraph"><p>If you only want to remove the local checkout of a submodule from your   work tree without committing the removal,  -use <a href="git-submodule.html">git-submodule(1)</a> <code>deinit</code> instead.</p></div>  +use <a href="git-submodule.html">git-submodule(1)</a> <tt>deinit</tt> instead.</p></div>   </div>   </div>   <div class="sect1">  @@ -950,31 +954,42 @@  <div class="sectionbody">   <div class="dlist"><dl>   <dt class="hdlist1">  -<code>git rm Documentation/\*.txt</code>  +<tt>git rm Documentation/\*.txt</tt>   </dt>   <dd>   <p>  - Removes all <code>*.txt</code> files from the index that are under the  - <code>Documentation</code> directory and any of its subdirectories.  + Removes all <tt>*.txt</tt> files from the index that are under the  + <tt>Documentation</tt> directory and any of its subdirectories.   </p>  -<div class="paragraph"><p>Note that the asterisk <code>*</code> is quoted from the shell in this  +<div class="paragraph"><p>Note that the asterisk <tt>*</tt> is quoted from the shell in this   example; this lets Git, and not the shell, expand the pathnames  -of files and subdirectories under the <code>Documentation/</code> directory.</p></div>  +of files and subdirectories under the <tt>Documentation/</tt> directory.</p></div>   </dd>   <dt class="hdlist1">  -<code>git rm -f git-*.sh</code>  +<tt>git rm -f git-*.sh</tt>   </dt>   <dd>   <p>   Because this example lets the shell expand the asterisk   (i.e. you are listing the files explicitly), it  - does not remove <code>subdir/git-foo.sh</code>.  + does not remove <tt>subdir/git-foo.sh</tt>.   </p>   </dd>   </dl></div>   </div>   </div>   <div class="sect1">  +<h2 id="_bugs">BUGS</h2>  +<div class="sectionbody">  +<div class="paragraph"><p>Each time a superproject update removes a populated submodule  +(e.g. when switching between commits before and after the removal) a  +stale submodule checkout will remain in the old location. Removing the  +old directory is only safe when it uses a gitfile, as otherwise the  +history of the submodule will be deleted too. This step will be  +obsolete when recursive submodule update has been implemented.</p></div>  +</div>  +</div>  +<div class="sect1">   <h2 id="_see_also">SEE ALSO</h2>   <div class="sectionbody">   <div class="paragraph"><p><a href="git-add.html">git-add(1)</a></p></div>  @@ -990,7 +1005,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2013-09-09 15:34:20 PDT  +Last updated 2014-01-13 15:35:15 PST   </div>   </div>   </body>  
diff --git a/git-rm.txt b/git-rm.txt index 9d731b4..f1efc11 100644 --- a/git-rm.txt +++ b/git-rm.txt 
@@ -170,6 +170,15 @@ 	(i.e. you are listing the files explicitly), it 	does not remove `subdir/git-foo.sh`.   +BUGS +---- +Each time a superproject update removes a populated submodule +(e.g. when switching between commits before and after the removal) a +stale submodule checkout will remain in the old location. Removing the +old directory is only safe when it uses a gitfile, as otherwise the +history of the submodule will be deleted too. This step will be +obsolete when recursive submodule update has been implemented. +  SEE ALSO  --------  linkgit:git-add[1] 
diff --git a/git.html b/git.html index 307d5b9..1d84439 100644 --- a/git.html +++ b/git.html 
@@ -3,7 +3,7 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 8.6.8" />  +<meta name="generator" content="AsciiDoc 8.6.6" />   <title>git(1)</title>   <style type="text/css">   /* Shared CSS for AsciiDoc xhtml11 and html5 backends */  @@ -87,15 +87,11 @@  ul > li { color: #aaa; }   ul > li > * { color: black; }    -.monospaced, code, pre {  - font-family: "Courier New", Courier, monospace;  - font-size: inherit;  - color: navy;  +pre {   padding: 0;   margin: 0;   }    -   #author {   color: #527bbd;   font-weight: bold;  @@ -353,7 +349,7 @@  margin-bottom: 0.1em;   }    -div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {  +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {   margin-top: 0;   margin-bottom: 0;   }  @@ -411,14 +407,18 @@  span.overline { text-decoration: overline; }   span.line-through { text-decoration: line-through; }    -div.unbreakable { page-break-inside: avoid; }  -     /*   * xhtml11 specific   *   * */    +tt {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   div.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -452,6 +452,12 @@  *   * */    +.monospaced {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   table.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -531,8 +537,6 @@  @media print {   body.manpage div#toc { display: none; }   }  -  -   </style>   <script type="text/javascript">   /*<![CDATA[*/  @@ -577,7 +581,7 @@    function tocEntries(el, toclevels) {   var result = new Array;  - var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');  + var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');   // Function that scans the DOM tree for header elements (the DOM2   // nodeIterator API would be a better technique but not supported by all   // browsers).  @@ -606,7 +610,7 @@  var i;   for (i = 0; i < toc.childNodes.length; i++) {   var entry = toc.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div'  + if (entry.nodeName == 'div'   && entry.getAttribute("class")   && entry.getAttribute("class").match(/^toclevel/))   tocEntriesToRemove.push(entry);  @@ -652,7 +656,7 @@  var entriesToRemove = [];   for (i = 0; i < noteholder.childNodes.length; i++) {   var entry = noteholder.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")  + if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")   entriesToRemove.push(entry);   }   for (i = 0; i < entriesToRemove.length; i++) {  @@ -770,7 +774,7 @@  individual Git commands with "git help command". <a href="gitcli.html">gitcli(7)</a>   manual page gives you an overview of the command line command syntax.</p></div>   <div class="paragraph"><p>Formatted and hyperlinked version of the latest Git documentation  -can be viewed at <code>http://git-htmldocs.googlecode.com/git/git.html</code>.</p></div>  +can be viewed at <tt>http://git-htmldocs.googlecode.com/git/git.html</tt>.</p></div>   </div>   </div>   <div class="sect1">  @@ -797,8 +801,8 @@  </p>   <div class="paragraph"><p>Other options are available to control how the manual page is   displayed. See <a href="git-help.html">git-help(1)</a> for more information,  -because <code>git --help ...</code> is converted internally into <code>git  -help ...</code>.</p></div>  +because <tt>git --help ...</tt> is converted internally into <tt>git  +help ...</tt>.</p></div>   </dd>   <dt class="hdlist1">   -C &lt;path&gt;  @@ -806,18 +810,18 @@  <dd>   <p>   Run as if git was started in <em>&lt;path&gt;</em> instead of the current working  - directory. When multiple <code>-C</code> options are given, each subsequent  - non-absolute <code>-C &lt;path&gt;</code> is interpreted relative to the preceding <code>-C  - &lt;path&gt;</code>.  + directory. When multiple <tt>-C</tt> options are given, each subsequent  + non-absolute <tt>-C &lt;path&gt;</tt> is interpreted relative to the preceding <tt>-C  + &lt;path&gt;</tt>.   </p>  -<div class="paragraph"><p>This option affects options that expect path name like <code>--git-dir</code> and  -<code>--work-tree</code> in that their interpretations of the path names would be  -made relative to the working directory caused by the <code>-C</code> option. For  +<div class="paragraph"><p>This option affects options that expect path name like <tt>--git-dir</tt> and  +<tt>--work-tree</tt> in that their interpretations of the path names would be  +made relative to the working directory caused by the <tt>-C</tt> option. For   example the following invocations are equivalent:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>git --git-dir=a.git --work-tree=b -C c status  -git --git-dir=c/a.git --work-tree=c/b status</code></pre>  +<pre><tt>git --git-dir=a.git --work-tree=b -C c status  +git --git-dir=c/a.git --work-tree=c/b status</tt></pre>   </div></div>   </dd>   <dt class="hdlist1">  @@ -856,7 +860,7 @@  </dt>   <dd>   <p>  - Print the manpath (see <code>man(1)</code>) for the man pages for  + Print the manpath (see <tt>man(1)</tt>) for the man pages for   this version of Git and exit.   </p>   </dd>  @@ -878,7 +882,7 @@  <dd>   <p>   Pipe all output into <em>less</em> (or if set, $PAGER) if standard  - output is a terminal. This overrides the <code>pager.&lt;cmd&gt;</code>  + output is a terminal. This overrides the <tt>pager.&lt;cmd&gt;</tt>   configuration options (see the "Configuration Mechanism" section   below).   </p>  @@ -920,7 +924,7 @@  <dd>   <p>   Set the Git namespace. See <a href="gitnamespaces.html">gitnamespaces(7)</a> for more  - details. Equivalent to setting the <code>GIT_NAMESPACE</code> environment  + details. Equivalent to setting the <tt>GIT_NAMESPACE</tt> environment   variable.   </p>   </dd>  @@ -949,8 +953,8 @@  <dd>   <p>   Treat pathspecs literally (i.e. no globbing, no pathspec magic).  - This is equivalent to setting the <code>GIT_LITERAL_PATHSPECS</code> environment  - variable to <code>1</code>.  + This is equivalent to setting the <tt>GIT_LITERAL_PATHSPECS</tt> environment  + variable to <tt>1</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -959,7 +963,7 @@  <dd>   <p>   Add "glob" magic to all pathspec. This is equivalent to setting  - the <code>GIT_GLOB_PATHSPECS</code> environment variable to <code>1</code>. Disabling  + the <tt>GIT_GLOB_PATHSPECS</tt> environment variable to <tt>1</tt>. Disabling   globbing on individual pathspecs can be done using pathspec   magic ":(literal)"   </p>  @@ -970,7 +974,7 @@  <dd>   <p>   Add "literal" magic to all pathspec. This is equivalent to setting  - the <code>GIT_NOGLOB_PATHSPECS</code> environment variable to <code>1</code>. Enabling  + the <tt>GIT_NOGLOB_PATHSPECS</tt> environment variable to <tt>1</tt>. Enabling   globbing on individual pathspecs can be done using pathspec   magic ":(glob)"   </p>  @@ -981,7 +985,7 @@  <dd>   <p>   Add "icase" magic to all pathspec. This is equivalent to setting  - the <code>GIT_ICASE_PATHSPECS</code> environment variable to <code>1</code>.  + the <tt>GIT_ICASE_PATHSPECS</tt> environment variable to <tt>1</tt>.   </p>   </dd>   </dl></div>  @@ -2175,7 +2179,7 @@  like this:</p></div>   <div class="listingblock">   <div class="content">  -<pre><code>#  +<pre><tt>#   # A '#' or ';' character indicates a comment.   #    @@ -2187,7 +2191,7 @@  ; user identity   [user]   name = "Junio C Hamano"  - email = "gitster@pobox.com"</code></pre>  + email = "gitster@pobox.com"</tt></pre>   </div></div>   <div class="paragraph"><p>Various commands read from the configuration file and adjust   their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a  @@ -2258,7 +2262,7 @@  <dd>   <p>   Indicates that an object type is required.  - Currently one of: <code>blob</code>, <code>tree</code>, <code>commit</code>, or <code>tag</code>.  + Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -2267,7 +2271,7 @@  <dd>   <p>   Indicates a filename - almost always relative to the  - root of the tree structure <code>GIT_INDEX_FILE</code> describes.  + root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.   </p>   </dd>   </dl></div>  @@ -2293,7 +2297,7 @@  <dd>   <p>   a valid tag <em>name</em>  - (i.e. a <code>refs/tags/&lt;tag&gt;</code> reference).  + (i.e. a <tt>refs/tags/&lt;tag&gt;</tt> reference).   </p>   </dd>   <dt class="hdlist1">  @@ -2302,7 +2306,7 @@  <dd>   <p>   a valid head <em>name</em>  - (i.e. a <code>refs/heads/&lt;head&gt;</code> reference).  + (i.e. a <tt>refs/heads/&lt;head&gt;</tt> reference).   </p>   </dd>   </dl></div>  @@ -2316,7 +2320,7 @@  <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>   <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>   <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the  -<code>$GIT_DIR</code>.</p></div>  +<tt>$GIT_DIR</tt>.</p></div>   </div>   </div>   <div class="sect1">  @@ -2341,7 +2345,7 @@  <dd>   <p>   This environment allows the specification of an alternate  - index file. If not specified, the default of <code>$GIT_DIR/index</code>  + index file. If not specified, the default of <tt>$GIT_DIR/index</tt>   is used.   </p>   </dd>  @@ -2352,7 +2356,7 @@  <p>   If the object storage directory is specified via this   environment variable then the sha1 directories are created  - underneath - otherwise the default <code>$GIT_DIR/objects</code>  + underneath - otherwise the default <tt>$GIT_DIR/objects</tt>   directory is used.   </p>   </dd>  @@ -2374,7 +2378,7 @@  <dd>   <p>   If the <em>GIT_DIR</em> environment variable is set then it  - specifies a path to use instead of the default <code>.git</code>  + specifies a path to use instead of the default <tt>.git</tt>   for the base of the repository.   The <em>--git-dir</em> command-line option also sets this value.   </p>  @@ -2492,7 +2496,7 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>path old-file old-hex old-mode new-file new-hex new-mode</code></pre>  +<pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>   </div></div>   <div class="paragraph"><p>where:</p></div>   </dd>  @@ -2521,8 +2525,8 @@  are the octal representation of the file modes.   </p>   <div class="paragraph"><p>The file parameters can point at the user&#8217;s working file  -(e.g. <code>new-file</code> in "git-diff-files"), <code>/dev/null</code> (e.g. <code>old-file</code>  -when a new file is added), or a temporary file (e.g. <code>old-file</code> in the  +(e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>  +when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the   index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the   temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p></div>   <div class="paragraph"><p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1  @@ -2566,9 +2570,9 @@  </dt>   <dd>   <p>  - This environment variable overrides <code>$PAGER</code>. If it is set  + This environment variable overrides <tt>$PAGER</tt>. If it is set   to an empty string or to the value "cat", Git will not launch  - a pager. See also the <code>core.pager</code> option in  + a pager. See also the <tt>core.pager</tt> option in   <a href="git-config.html">git-config(1)</a>.   </p>   </dd>  @@ -2577,10 +2581,10 @@  </dt>   <dd>   <p>  - This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>.  + This environment variable overrides <tt>$EDITOR</tt> and <tt>$VISUAL</tt>.   It is used by several Git commands when, on interactive mode,   an editor is to be launched. See also <a href="git-var.html">git-var(1)</a>  - and the <code>core.editor</code> option in <a href="git-config.html">git-config(1)</a>.  + and the <tt>core.editor</tt> option in <a href="git-config.html">git-config(1)</a>.   </p>   </dd>   <dt class="hdlist1">  @@ -2602,7 +2606,7 @@  you will need to wrap the program and options into a shell script,   then set GIT_SSH to refer to the shell script.</p></div>   <div class="paragraph"><p>Usually it is easier to configure any desired options through your  -personal <code>.ssh/config</code> file. Please consult your ssh documentation  +personal <tt>.ssh/config</tt> file. Please consult your ssh documentation   for further details.</p></div>   </dd>   <dt class="hdlist1">  @@ -2623,10 +2627,10 @@  <dd>   <p>   Whether to skip reading settings from the system-wide  - <code>$(prefix)/etc/gitconfig</code> file. This environment variable can  - be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a  + <tt>$(prefix)/etc/gitconfig</tt> file. This environment variable can  + be used along with <tt>$HOME</tt> and <tt>$XDG_CONFIG_HOME</tt> to create a   predictable environment for a picky script, or you can set it  - temporarily to avoid using a buggy <code>/etc/gitconfig</code> file while  + temporarily to avoid using a buggy <tt>/etc/gitconfig</tt> file while   waiting for someone with sufficient permissions to fix it.   </p>   </dd>  @@ -2652,7 +2656,7 @@  <dd>   <p>   If this variable is set to "1", "2" or "true" (comparison  - is case insensitive), Git will print <code>trace:</code> messages on  + is case insensitive), Git will print <tt>trace:</tt> messages on   stderr telling about alias expansion, built-in command   execution and external command execution.   If this variable is set to an integer value greater than 1  @@ -2693,13 +2697,13 @@  </dt>   <dd>   <p>  - Setting this variable to <code>1</code> will cause Git to treat all  + Setting this variable to <tt>1</tt> will cause Git to treat all   pathspecs literally, rather than as glob patterns. For example,  - running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search  - for commits that touch the path <code>*.c</code>, not any paths that the  - glob <code>*.c</code> matches. You might want this if you are feeding  + running <tt>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</tt> will search  + for commits that touch the path <tt>*.c</tt>, not any paths that the  + glob <tt>*.c</tt> matches. You might want this if you are feeding   literal paths to Git (e.g., paths previously given to you by  - <code>git ls-tree</code>, <code>--raw</code> diff output, etc).  + <tt>git ls-tree</tt>, <tt>--raw</tt> diff output, etc).   </p>   </dd>   <dt class="hdlist1">  @@ -2707,7 +2711,7 @@  </dt>   <dd>   <p>  - Setting this variable to <code>1</code> will cause Git to treat all  + Setting this variable to <tt>1</tt> will cause Git to treat all   pathspecs as glob patterns (aka "glob" magic).   </p>   </dd>  @@ -2716,7 +2720,7 @@  </dt>   <dd>   <p>  - Setting this variable to <code>1</code> will cause Git to treat all  + Setting this variable to <tt>1</tt> will cause Git to treat all   pathspecs as literal (aka "literal" magic).   </p>   </dd>  @@ -2725,7 +2729,7 @@  </dt>   <dd>   <p>  - Setting this variable to <code>1</code> will cause Git to treat all  + Setting this variable to <tt>1</tt> will cause Git to treat all   pathspecs as case-insensitive.   </p>   </dd>  @@ -2739,7 +2743,7 @@  typically the name of the high-level command that updated   the ref), in addition to the old and new values of the ref.   A scripted Porcelain command can use set_reflog_action  - helper function in <code>git-sh-setup</code> to set its name to this  + helper function in <tt>git-sh-setup</tt> to set its name to this   variable when it is invoked as the top level command by the   end user, to be recorded in the body of the reflog.   </p>  @@ -2777,10 +2781,10 @@  efficiency may later be compressed together into "pack files".</p></div>   <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref   may contain the SHA-1 name of an object or the name of another ref. Refs  -with names beginning <code>ref/head/</code> contain the SHA-1 name of the most  +with names beginning <tt>ref/head/</tt> contain the SHA-1 name of the most   recent commit (or "head") of a branch under development. SHA-1 names of  -tags of interest are stored under <code>ref/tags/</code>. A special ref named  -<code>HEAD</code> contains the name of the currently checked-out branch.</p></div>  +tags of interest are stored under <tt>ref/tags/</tt>. A special ref named  +<tt>HEAD</tt> contains the name of the currently checked-out branch.</p></div>   <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each   path, a blob object and a set of attributes. The blob object represents   the contents of the file as of the head of the current branch. The  @@ -2852,7 +2856,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2013-12-27 16:32:55 PST  +Last updated 2014-01-13 15:35:15 PST   </div>   </div>   </body>  
diff --git a/git.txt b/git.txt index aec3726..274d816 100644 --- a/git.txt +++ b/git.txt 
@@ -43,9 +43,10 @@  branch of the `git.git` repository.  Documentation for older releases are available here:   -* link:v1.8.5.2/git.html[documentation for release 1.8.5.2] +* link:v1.8.5.3/git.html[documentation for release 1.8.5.3]    * release notes for + link:RelNotes/1.8.5.3.txt[1.8.5.3],  link:RelNotes/1.8.5.2.txt[1.8.5.2],  link:RelNotes/1.8.5.1.txt[1.8.5.1],  link:RelNotes/1.8.5.txt[1.8.5]. 
diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html index b697ea7..3186ac0 100644 --- a/technical/pack-heuristics.html +++ b/technical/pack-heuristics.html 
@@ -3,8 +3,8 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 8.6.8" />  -<title></title>  +<meta name="generator" content="AsciiDoc 8.6.6" />  +<title>Concerning Git&#8217;s Packing Heuristics</title>   <style type="text/css">   /* Shared CSS for AsciiDoc xhtml11 and html5 backends */    @@ -87,15 +87,11 @@  ul > li { color: #aaa; }   ul > li > * { color: black; }    -.monospaced, code, pre {  - font-family: "Courier New", Courier, monospace;  - font-size: inherit;  - color: navy;  +pre {   padding: 0;   margin: 0;   }    -   #author {   color: #527bbd;   font-weight: bold;  @@ -353,7 +349,7 @@  margin-bottom: 0.1em;   }    -div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {  +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {   margin-top: 0;   margin-bottom: 0;   }  @@ -411,14 +407,18 @@  span.overline { text-decoration: overline; }   span.line-through { text-decoration: line-through; }    -div.unbreakable { page-break-inside: avoid; }  -     /*   * xhtml11 specific   *   * */    +tt {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   div.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -452,6 +452,12 @@  *   * */    +.monospaced {  + font-family: monospace;  + font-size: inherit;  + color: navy;  +}  +   table.tableblock {   margin-top: 1.0em;   margin-bottom: 1.5em;  @@ -531,8 +537,6 @@  @media print {   body.manpage div#toc { display: none; }   }  -  -   </style>   <script type="text/javascript">   /*<![CDATA[*/  @@ -577,7 +581,7 @@    function tocEntries(el, toclevels) {   var result = new Array;  - var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');  + var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');   // Function that scans the DOM tree for header elements (the DOM2   // nodeIterator API would be a better technique but not supported by all   // browsers).  @@ -606,7 +610,7 @@  var i;   for (i = 0; i < toc.childNodes.length; i++) {   var entry = toc.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div'  + if (entry.nodeName == 'div'   && entry.getAttribute("class")   && entry.getAttribute("class").match(/^toclevel/))   tocEntriesToRemove.push(entry);  @@ -652,7 +656,7 @@  var entriesToRemove = [];   for (i = 0; i < noteholder.childNodes.length; i++) {   var entry = noteholder.childNodes[i];  - if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")  + if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")   entriesToRemove.push(entry);   }   for (i = 0; i < entriesToRemove.length; i++) {  @@ -731,22 +735,20 @@  </head>   <body class="article">   <div id="header">  +<h1>Concerning Git&#8217;s Packing Heuristics</h1>   </div>   <div id="content">  +<div id="preamble">  +<div class="sectionbody">   <div class="literalblock">   <div class="content">  -<pre><code>Concerning Git's Packing Heuristics  -===================================</code></pre>  +<pre><tt>Oh, here's a really stupid question:</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Oh, here's a really stupid question:</code></pre>  -</div></div>  -<div class="literalblock">  -<div class="content">  -<pre><code> Where do I go  +<pre><tt> Where do I go   to learn the details  -of Git's packing heuristics?</code></pre>  +of Git's packing heuristics?</tt></pre>   </div></div>   <div class="paragraph"><p>Be careful what you ask!</p></div>   <div class="paragraph"><p>Followers of the Git, please open the Git IRC Log and turn to  @@ -757,11 +759,11 @@  <div class="paragraph"><p>Let&#8217;s listen in!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Oh, here's a really stupid question -- where do I go to  +<pre><tt>&lt;njs`&gt; Oh, here's a really stupid question -- where do I go to   learn the details of Git's packing heuristics? google avails   me not, reading the source didn't help a lot, and wading   through the whole mailing list seems less efficient than any  - of that.</code></pre>  + of that.</tt></pre>   </div></div>   <div class="paragraph"><p>It is a bold start! A plea for help combined with a simultaneous   tri-part attack on some of the tried and true mainstays in the quest  @@ -770,65 +772,65 @@  Woe.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;pasky&gt; yes, the packing-related delta stuff is somewhat  - mysterious even for me ;)</code></pre>  +<pre><tt>&lt;pasky&gt; yes, the packing-related delta stuff is somewhat  + mysterious even for me ;)</tt></pre>   </div></div>   <div class="paragraph"><p>Ah! Modesty after all.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; njs, I don't think the docs exist. That's something where  +<pre><tt>&lt;linus&gt; njs, I don't think the docs exist. That's something where   I don't think anybody else than me even really got involved.   Most of the rest of Git others have been busy with (especially  - Junio), but packing nobody touched after I did it.</code></pre>  + Junio), but packing nobody touched after I did it.</tt></pre>   </div></div>   <div class="paragraph"><p>It&#8217;s cryptic, yet vague. Linus in style for sure. Wise men   interpret this as an apology. A few argue it is merely a   statement of fact.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; I guess the next step is "read the source again", but I  - have to build up a certain level of gumption first :-)</code></pre>  +<pre><tt>&lt;njs`&gt; I guess the next step is "read the source again", but I  + have to build up a certain level of gumption first :-)</tt></pre>   </div></div>   <div class="paragraph"><p>Indeed! On both points.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; The packing heuristic is actually really really simple.</code></pre>  +<pre><tt>&lt;linus&gt; The packing heuristic is actually really really simple.</tt></pre>   </div></div>   <div class="paragraph"><p>Bait&#8230;</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; But strange.</code></pre>  +<pre><tt>&lt;linus&gt; But strange.</tt></pre>   </div></div>   <div class="paragraph"><p>And switch. That ought to do it!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Remember: Git really doesn't follow files. So what it does is  +<pre><tt>&lt;linus&gt; Remember: Git really doesn't follow files. So what it does is   - generate a list of all objects   - sort the list according to magic heuristics   - walk the list, using a sliding window, seeing if an object   can be diffed against another object in the window  - - write out the list in recency order</code></pre>  + - write out the list in recency order</tt></pre>   </div></div>   <div class="paragraph"><p>The traditional understatement:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; I suspect that what I'm missing is the precise definition of  - the word "magic"</code></pre>  +<pre><tt>&lt;njs`&gt; I suspect that what I'm missing is the precise definition of  + the word "magic"</tt></pre>   </div></div>   <div class="paragraph"><p>The traditional insight:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;pasky&gt; yes</code></pre>  +<pre><tt>&lt;pasky&gt; yes</tt></pre>   </div></div>   <div class="paragraph"><p>And Babel-like confusion flowed.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; oh, hmm, and I'm not sure what this sliding window means either</code></pre>  +<pre><tt>&lt;njs`&gt; oh, hmm, and I'm not sure what this sliding window means either</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;pasky&gt; iirc, it appeared to me to be just the sha1 of the object  - when reading the code casually ...</code></pre>  +<pre><tt>&lt;pasky&gt; iirc, it appeared to me to be just the sha1 of the object  + when reading the code casually ...</tt></pre>   </div></div>   <div class="olist lowerroman"><ol class="lowerroman">   <li>  @@ -837,83 +839,83 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; .....and recency order. okay, I think it's clear I didn't  - even realize how much I wasn't realizing :-)</code></pre>  +<pre><tt>&lt;njs`&gt; .....and recency order. okay, I think it's clear I didn't  + even realize how much I wasn't realizing :-)</tt></pre>   </div></div>   </li>   </ol></div>   <div class="paragraph"><p>Ah, grasshopper! And thus the enlightenment begins anew.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; The "magic" is actually in theory totally arbitrary.  +<pre><tt>&lt;linus&gt; The "magic" is actually in theory totally arbitrary.   ANY order will give you a working pack, but no, it's not  - ordered by SHA-1.</code></pre>  + ordered by SHA-1.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Before talking about the ordering for the sliding delta  +<pre><tt>Before talking about the ordering for the sliding delta   window, let's talk about the recency order. That's more  -important in one way.</code></pre>  +important in one way.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Right, but if all you want is a working way to pack things  +<pre><tt>&lt;njs`&gt; Right, but if all you want is a working way to pack things   together, you could just use cat and save yourself some  - trouble...</code></pre>  + trouble...</tt></pre>   </div></div>   <div class="paragraph"><p>Waaait for it&#8230;.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; The recency ordering (which is basically: put objects  +<pre><tt>&lt;linus&gt; The recency ordering (which is basically: put objects   _physically_ into the pack in the order that they are  - "reachable" from the head) is important.</code></pre>  + "reachable" from the head) is important.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; okay</code></pre>  +<pre><tt>&lt;njs`&gt; okay</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; It's important because that's the thing that gives packs  +<pre><tt>&lt;linus&gt; It's important because that's the thing that gives packs   good locality. It keeps the objects close to the head (whether   they are old or new, but they are _reachable_ from the head)   at the head of the pack. So packs actually have absolutely  - _wonderful_ IO patterns.</code></pre>  + _wonderful_ IO patterns.</tt></pre>   </div></div>   <div class="paragraph"><p>Read that again, because it is important.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; But recency ordering is totally useless for deciding how  +<pre><tt>&lt;linus&gt; But recency ordering is totally useless for deciding how   to actually generate the deltas, so the delta ordering is  - something else.</code></pre>  + something else.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>The delta ordering is (wait for it):  +<pre><tt>The delta ordering is (wait for it):   - first sort by the "basename" of the object, as defined by   the name the object was _first_ reached through when   generating the object list   - within the same basename, sort by size of the object  -- but always sort different types separately (commits first).</code></pre>  +- but always sort different types separately (commits first).</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>That's not exactly it, but it's very close.</code></pre>  +<pre><tt>That's not exactly it, but it's very close.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; The "_first_ reached" thing is not too important, just you  +<pre><tt>&lt;njs`&gt; The "_first_ reached" thing is not too important, just you   need some way to break ties since the same objects may be  - reachable many ways, yes?</code></pre>  + reachable many ways, yes?</tt></pre>   </div></div>   <div class="paragraph"><p>And as if to clarify:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; The point is that it's all really just any random  +<pre><tt>&lt;linus&gt; The point is that it's all really just any random   heuristic, and the ordering is totally unimportant for   correctness, but it helps a lot if the heuristic gives   "clumping" for things that are likely to delta well against  - each other.</code></pre>  + each other.</tt></pre>   </div></div>   <div class="paragraph"><p>It is an important point, so secretly, I did my own research and have   included my results below. To be fair, it has changed some over time.  @@ -921,7 +923,7 @@  from The Git IRC Logs on my father&#8217;s birthday, March 1:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;gitster&gt; The quote from the above linus should be rewritten a  +<pre><tt>&lt;gitster&gt; The quote from the above linus should be rewritten a   bit (wait for it):   - first sort by type. Different objects never delta with   each other.  @@ -931,81 +933,81 @@  - then if we are doing "thin" pack, the objects we are _not_   going to pack but we know about are sorted earlier than   other objects.  - - and finally sort by size, larger to smaller.</code></pre>  + - and finally sort by size, larger to smaller.</tt></pre>   </div></div>   <div class="paragraph"><p>In one swell-foop, clarification and obscurification! Nonetheless,   authoritative. Cryptic, yet concise. It even solicits notions of   quotes from The Source Code. Clearly, more study is needed.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;gitster&gt; That's the sort order. What this means is:  +<pre><tt>&lt;gitster&gt; That's the sort order. What this means is:   - we do not delta different object types.   - we prefer to delta the objects with the same full path, but   allow files with the same name from different directories.   - we always prefer to delta against objects we are not going   to send, if there are some.   - we prefer to delta against larger objects, so that we have  - lots of removals.</code></pre>  + lots of removals.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>The penultimate rule is for "thin" packs. It is used when  -the other side is known to have such objects.</code></pre>  +<pre><tt>The penultimate rule is for "thin" packs. It is used when  +the other side is known to have such objects.</tt></pre>   </div></div>   <div class="paragraph"><p>There it is again. "Thin" packs. I&#8217;m thinking to myself, "What   is a <em>thin</em> pack?" So I ask:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;jdl&gt; What is a "thin" pack?</code></pre>  +<pre><tt>&lt;jdl&gt; What is a "thin" pack?</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;gitster&gt; Use of --objects-edge to rev-list as the upstream of  - pack-objects. The pack transfer protocol negotiates that.</code></pre>  +<pre><tt>&lt;gitster&gt; Use of --objects-edge to rev-list as the upstream of  + pack-objects. The pack transfer protocol negotiates that.</tt></pre>   </div></div>   <div class="paragraph"><p>Woo hoo! Cleared that <em>right</em> up!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;gitster&gt; There are two directions - push and fetch.</code></pre>  +<pre><tt>&lt;gitster&gt; There are two directions - push and fetch.</tt></pre>   </div></div>   <div class="paragraph"><p>There! Did you see it? It is not <em>"push" and "pull"</em>! How often the   confusion has started here. So casually mentioned, too!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;gitster&gt; For push, git-send-pack invokes git-receive-pack on the  +<pre><tt>&lt;gitster&gt; For push, git-send-pack invokes git-receive-pack on the   other end. The receive-pack says "I have up to these commits".   send-pack looks at them, and computes what are missing from  - the other end. So "thin" could be the default there.</code></pre>  + the other end. So "thin" could be the default there.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>In the other direction, fetch, git-fetch-pack and  +<pre><tt>In the other direction, fetch, git-fetch-pack and   git-clone-pack invokes git-upload-pack on the other end  -(via ssh or by talking to the daemon).</code></pre>  +(via ssh or by talking to the daemon).</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>There are two cases: fetch-pack with -k and clone-pack is one,  +<pre><tt>There are two cases: fetch-pack with -k and clone-pack is one,   fetch-pack without -k is the other. clone-pack and fetch-pack   with -k will keep the downloaded packfile without expanded, so   we do not use thin pack transfer. Otherwise, the generated  -pack will have delta without base object in the same pack.</code></pre>  +pack will have delta without base object in the same pack.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>But fetch-pack without -k will explode the received pack into  +<pre><tt>But fetch-pack without -k will explode the received pack into   individual objects, so we automatically ask upload-pack to  -give us a thin pack if upload-pack supports it.</code></pre>  +give us a thin pack if upload-pack supports it.</tt></pre>   </div></div>   <div class="paragraph"><p>OK then.</p></div>   <div class="paragraph"><p>Uh.</p></div>   <div class="paragraph"><p>Let&#8217;s return to the previous conversation still in progress.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; and "basename" means something like "the tail of end of  +<pre><tt>&lt;njs`&gt; and "basename" means something like "the tail of end of   path of file objects and dir objects, as per basename(3), and   we just declare all commit and tag objects to have the same  - basename" or something?</code></pre>  + basename" or something?</tt></pre>   </div></div>   <div class="paragraph"><p>Luckily, that too is a point that gitster clarified for us!</p></div>   <div class="paragraph"><p>If I might add, the trick is to make files that <em>might</em> be similar be  @@ -1019,73 +1021,73 @@  content no matter what directory they live in.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; I played around with different delta algorithms, and with  +<pre><tt>&lt;linus&gt; I played around with different delta algorithms, and with   making the "delta window" bigger, but having too big of a   sliding window makes it very expensive to generate the pack:  - you need to compare every object with a _ton_ of other objects.</code></pre>  + you need to compare every object with a _ton_ of other objects.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>There are a number of other trivial heuristics too, which  +<pre><tt>There are a number of other trivial heuristics too, which   basically boil down to "don't bother even trying to delta this   pair" if we can tell before-hand that the delta isn't worth it   (due to size differences, where we can take a previous delta   result into account to decide that "ok, no point in trying  -that one, it will be worse").</code></pre>  +that one, it will be worse").</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>End result: packing is actually very size efficient. It's  +<pre><tt>End result: packing is actually very size efficient. It's   somewhat CPU-wasteful, but on the other hand, since you're   really only supposed to do it maybe once a month (and you can  -do it during the night), nobody really seems to care.</code></pre>  +do it during the night), nobody really seems to care.</tt></pre>   </div></div>   <div class="paragraph"><p>Nice Engineering Touch, there. Find when it doesn&#8217;t matter, and   proclaim it a non-issue. Good style too!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; So, just to repeat to see if I'm following, we start by  +<pre><tt>&lt;njs`&gt; So, just to repeat to see if I'm following, we start by   getting a list of the objects we want to pack, we sort it by   this heuristic (basically lexicographically on the tuple  - (type, basename, size)).</code></pre>  + (type, basename, size)).</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Then we walk through this list, and calculate a delta of  +<pre><tt>Then we walk through this list, and calculate a delta of   each object against the last n (tunable parameter) objects,  -and pick the smallest of these deltas.</code></pre>  +and pick the smallest of these deltas.</tt></pre>   </div></div>   <div class="paragraph"><p>Vastly simplified, but the essence is there!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Correct.</code></pre>  +<pre><tt>&lt;linus&gt; Correct.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; And then once we have picked a delta or fulltext to  +<pre><tt>&lt;njs`&gt; And then once we have picked a delta or fulltext to   represent each object, we re-sort by recency, and write them  - out in that order.</code></pre>  + out in that order.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Yup. Some other small details:</code></pre>  +<pre><tt>&lt;linus&gt; Yup. Some other small details:</tt></pre>   </div></div>   <div class="paragraph"><p>And of course there is the "Other Shoe" Factor too.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; - We limit the delta depth to another magic value (right  - now both the window and delta depth magic values are just "10")</code></pre>  +<pre><tt>&lt;linus&gt; - We limit the delta depth to another magic value (right  + now both the window and delta depth magic values are just "10")</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Hrm, my intuition is that you'd end up with really _bad_ IO  +<pre><tt>&lt;njs`&gt; Hrm, my intuition is that you'd end up with really _bad_ IO   patterns, because the things you want are near by, but to   actually reconstruct them you may have to jump all over in  - random ways.</code></pre>  + random ways.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; - When we write out a delta, and we haven't yet written  +<pre><tt>&lt;linus&gt; - When we write out a delta, and we haven't yet written   out the object it is a delta against, we write out the base   object first. And no, when we reconstruct them, we actually   get nice IO patterns, because:  @@ -1093,58 +1095,58 @@  - we actively try to generate deltas from a larger object to a   smaller one   - this means that the top-of-tree very seldom has deltas  - (i.e. deltas in _practice_ are "backwards deltas")</code></pre>  + (i.e. deltas in _practice_ are "backwards deltas")</tt></pre>   </div></div>   <div class="paragraph"><p>Again, we should reread that whole paragraph. Not just because   Linus has slipped Linus&#8217;s Law in there on us, but because it is   important. Let&#8217;s make sure we clarify some of the points here:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; So the point is just that in practice, delta order and  - recency order match each other quite well.</code></pre>  +<pre><tt>&lt;njs`&gt; So the point is just that in practice, delta order and  + recency order match each other quite well.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Yes. There's another nice side to this (and yes, it was  +<pre><tt>&lt;linus&gt; Yes. There's another nice side to this (and yes, it was   designed that way ;):   - the reason we generate deltas against the larger object is  - actually a big space saver too!</code></pre>  + actually a big space saver too!</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Hmm, but your last comment (if "we haven't yet written out  +<pre><tt>&lt;njs`&gt; Hmm, but your last comment (if "we haven't yet written out   the object it is a delta against, we write out the base object   first"), seems like it would make these facts mostly   irrelevant because even if in practice you would not have to   wander around much, in fact you just brute-force say that in  - the cases where you might have to wander, don't do that :-)</code></pre>  + the cases where you might have to wander, don't do that :-)</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Yes and no. Notice the rule: we only write out the base  +<pre><tt>&lt;linus&gt; Yes and no. Notice the rule: we only write out the base   object first if the delta against it was more recent. That   means that you can actually have deltas that refer to a base   object that is _not_ close to the delta object, but that only  - happens when the delta is needed to generate an _old_ object.</code></pre>  + happens when the delta is needed to generate an _old_ object.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; See?</code></pre>  +<pre><tt>&lt;linus&gt; See?</tt></pre>   </div></div>   <div class="paragraph"><p>Yeah, no. I missed that on the first two or three readings myself.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; This keeps the front of the pack dense. The front of the  +<pre><tt>&lt;linus&gt; This keeps the front of the pack dense. The front of the   pack never contains data that isn't relevant to a "recent"   object. The size optimization comes from our use of xdelta   (but is true for many other delta algorithms): removing data  - is cheaper (in size) than adding data.</code></pre>  + is cheaper (in size) than adding data.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>When you remove data, you only need to say "copy bytes n--m".  +<pre><tt>When you remove data, you only need to say "copy bytes n--m".   In contrast, in a delta that _adds_ data, you have to say "add  -these bytes: 'actual data goes here'"</code></pre>  +these bytes: 'actual data goes here'"</tt></pre>   </div></div>   <div class="ulist"><ul>   <li>  @@ -1153,7 +1155,7 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Uhhuh. I hope I didn't blow njs` mind.</code></pre>  +<pre><tt>&lt;linus&gt; Uhhuh. I hope I didn't blow njs` mind.</tt></pre>   </div></div>   </li>   <li>  @@ -1162,7 +1164,7 @@  </p>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;pasky&gt; :)</code></pre>  +<pre><tt>&lt;pasky&gt; :)</tt></pre>   </div></div>   </li>   </ul></div>  @@ -1170,7 +1172,7 @@  <div class="paragraph"><p>And as if njs` was expected to be omniscient:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; njs - did you miss anything?</code></pre>  +<pre><tt>&lt;linus&gt; njs - did you miss anything?</tt></pre>   </div></div>   <div class="paragraph"><p>OK, I&#8217;ll spell it out. That&#8217;s Geek Humor. If njs` was not actually   connected for a little bit there, how would he know if missed anything  @@ -1178,168 +1180,170 @@  humor! Well noted!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Stupid router. Or gremlins, or whatever.</code></pre>  +<pre><tt>&lt;njs`&gt; Stupid router. Or gremlins, or whatever.</tt></pre>   </div></div>   <div class="paragraph"><p>It&#8217;s a cheap shot at Cisco. Take 'em when you can.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Yes and no. Notice the rule: we only write out the base  - object first if the delta against it was more recent.</code></pre>  +<pre><tt>&lt;njs`&gt; Yes and no. Notice the rule: we only write out the base  + object first if the delta against it was more recent.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>I'm getting lost in all these orders, let me re-read :-)  +<pre><tt>I'm getting lost in all these orders, let me re-read :-)   So the write-out order is from most recent to least recent?   (Conceivably it could be the opposite way too, I'm not sure if   we've said) though my connection back at home is logging, so I  -can just read what you said there :-)</code></pre>  +can just read what you said there :-)</tt></pre>   </div></div>   <div class="paragraph"><p>And for those of you paying attention, the Omniscient Trick has just   been detailed!</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Yes, we always write out most recent first</code></pre>  +<pre><tt>&lt;linus&gt; Yes, we always write out most recent first</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; And, yeah, I got the part about deeper-in-history stuff  - having worse IO characteristics, one sort of doesn't care.</code></pre>  +<pre><tt>&lt;njs`&gt; And, yeah, I got the part about deeper-in-history stuff  + having worse IO characteristics, one sort of doesn't care.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; With the caveat that if the "most recent" needs an older  +<pre><tt>&lt;linus&gt; With the caveat that if the "most recent" needs an older   object to delta against (hey, shrinking sometimes does  - happen), we write out the old object with the delta.</code></pre>  + happen), we write out the old object with the delta.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; (if only it happened more...)</code></pre>  +<pre><tt>&lt;njs`&gt; (if only it happened more...)</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Anyway, the pack-file could easily be denser still, but  +<pre><tt>&lt;linus&gt; Anyway, the pack-file could easily be denser still, but   because it's used both for streaming (the Git protocol) and  - for on-disk, it has a few pessimizations.</code></pre>  + for on-disk, it has a few pessimizations.</tt></pre>   </div></div>   <div class="paragraph"><p>Actually, it is a made-up word. But it is a made-up word being   used as setup for a later optimization, which is a real word:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; In particular, while the pack-file is then compressed,  +<pre><tt>&lt;linus&gt; In particular, while the pack-file is then compressed,   it's compressed just one object at a time, so the actual   compression factor is less than it could be in theory. But it   means that it's all nice random-access with a simple index to  - do "object name-&gt;location in packfile" translation.</code></pre>  + do "object name-&gt;location in packfile" translation.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; I'm assuming the real win for delta-ing large-&gt;small is  - more homogeneous statistics for gzip to run over?</code></pre>  +<pre><tt>&lt;njs`&gt; I'm assuming the real win for delta-ing large-&gt;small is  + more homogeneous statistics for gzip to run over?</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>(You have to put the bytes in one place or another, but  -putting them in a larger blob wins on compression)</code></pre>  +<pre><tt>(You have to put the bytes in one place or another, but  +putting them in a larger blob wins on compression)</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Actually, what is the compression strategy -- each delta  +<pre><tt>Actually, what is the compression strategy -- each delta   individually gzipped, the whole file gzipped, somewhere in  -between, no compression at all, ....?</code></pre>  +between, no compression at all, ....?</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Right.</code></pre>  +<pre><tt>Right.</tt></pre>   </div></div>   <div class="paragraph"><p>Reality IRC sets in. For example:</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;pasky&gt; I'll read the rest in the morning, I really have to go  +<pre><tt>&lt;pasky&gt; I'll read the rest in the morning, I really have to go   sleep or there's no hope whatsoever for me at the today's  - exam... g'nite all.</code></pre>  + exam... g'nite all.</tt></pre>   </div></div>   <div class="paragraph"><p>Heh.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; pasky: g'nite</code></pre>  +<pre><tt>&lt;linus&gt; pasky: g'nite</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; pasky: 'luck</code></pre>  +<pre><tt>&lt;njs`&gt; pasky: 'luck</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Right: large-&gt;small matters exactly because of compression  +<pre><tt>&lt;linus&gt; Right: large-&gt;small matters exactly because of compression   behaviour. If it was non-compressed, it probably wouldn't make  - any difference.</code></pre>  + any difference.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; yeah</code></pre>  +<pre><tt>&lt;njs`&gt; yeah</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Anyway: I'm not even trying to claim that the pack-files  +<pre><tt>&lt;linus&gt; Anyway: I'm not even trying to claim that the pack-files   are perfect, but they do tend to have a nice balance of  - density vs ease-of use.</code></pre>  + density vs ease-of use.</tt></pre>   </div></div>   <div class="paragraph"><p>Gasp! OK, saved. That&#8217;s a fair Engineering trade off. Close call!   In fact, Linus reflects on some Basic Engineering Fundamentals,   design options, etc.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; More importantly, they allow Git to still _conceptually_  - never deal with deltas at all, and be a "whole object" store.</code></pre>  +<pre><tt>&lt;linus&gt; More importantly, they allow Git to still _conceptually_  + never deal with deltas at all, and be a "whole object" store.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Which has some problems (we discussed bad huge-file  +<pre><tt>Which has some problems (we discussed bad huge-file   behaviour on the Git lists the other day), but it does mean   that the basic Git concepts are really really simple and  -straightforward.</code></pre>  +straightforward.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>It's all been quite stable.</code></pre>  +<pre><tt>It's all been quite stable.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Which I think is very much a result of having very simple  +<pre><tt>Which I think is very much a result of having very simple   basic ideas, so that there's never any confusion about what's  -going on.</code></pre>  +going on.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>Bugs happen, but they are "simple" bugs. And bugs that  +<pre><tt>Bugs happen, but they are "simple" bugs. And bugs that   actually get some object store detail wrong are almost always  -so obvious that they never go anywhere.</code></pre>  +so obvious that they never go anywhere.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; Yeah.</code></pre>  +<pre><tt>&lt;njs`&gt; Yeah.</tt></pre>   </div></div>   <div class="paragraph"><p>Nuff said.</p></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;linus&gt; Anyway. I'm off for bed. It's not 6AM here, but I've got  +<pre><tt>&lt;linus&gt; Anyway. I'm off for bed. It's not 6AM here, but I've got   three kids, and have to get up early in the morning to send  - them off. I need my beauty sleep.</code></pre>  + them off. I need my beauty sleep.</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; :-)</code></pre>  +<pre><tt>&lt;njs`&gt; :-)</tt></pre>   </div></div>   <div class="literalblock">   <div class="content">  -<pre><code>&lt;njs`&gt; appreciate the infodump, I really was failing to find the  - details on Git packs :-)</code></pre>  +<pre><tt>&lt;njs`&gt; appreciate the infodump, I really was failing to find the  + details on Git packs :-)</tt></pre>   </div></div>   <div class="paragraph"><p>And now you know the rest of the story.</p></div>   </div>  +</div>  +</div>   <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2013-09-12 16:24:44 PDT  +Last updated 2014-01-13 15:35:15 PST   </div>   </div>   </body>  
diff --git a/technical/pack-heuristics.txt b/technical/pack-heuristics.txt index b7bd951..95a07db 100644 --- a/technical/pack-heuristics.txt +++ b/technical/pack-heuristics.txt 
@@ -1,5 +1,5 @@ - Concerning Git's Packing Heuristics - =================================== +Concerning Git's Packing Heuristics +===================================    Oh, here's a really stupid question: